springboot整合mybatis实现数据库的增删查改的两种方式
注释的是纯注解形式 mapper
package com.itheima.mapper; import com.itheima.pojo.User; import org.apache.ibatis.annotations.*; import java.util.List; /** * @Mapper == @Component == @Service == @Repository == @ @Controller */ //当前接口的动态代理的实现类,注入Spring的容器 @Mapper public interface UserMapper { @Select("select * from user") List<User> findAll1(); /** * 查询全部 * @return */ // @Select("select * from user;") List<User> findAll(); @Insert("insert into user(id,username,password,name) values(#{id},#{username},#{password},#{name})") int addUser1(User user); /** * 增加用户 * @param user * @return */ // @Insert("insert into user(id,username,password,name) values(#{id},#{username},#{password},#{name});") int addUser(User user); @Delete("delete from user where id=#{id}") int delUser1(int id); /** * 删除用户 */ // @Delete("delete from user where id=#{id}") int delUser(int id); @Update("update user set username=#{username},password=#{password},name=#{name} where id=#{id}") int updUser1(User user); /** * 更改用户 */ // @Update("update user set username=#{username},password=#{password},name=#{name} where id=#{id}") int updUser(User user); }service以及serviceimpl
package com.itheima.service; import com.itheima.pojo.User; import java.util.List; public interface UserService { List<User> findAll1(); //查询所有 List<User> findAll(); int addUser1(User user); //增加用户 int addUser(User user); int delUser1(int id); //删除用户 int delUser(int id); int updUser1(); //更改用户 int updUser(); } package com.itheima.service.impl; import com.itheima.mapper.UserMapper; import com.itheima.pojo.User; import com.itheima.service.UserService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /* * @Autowired 注解会出现标红 但是是正常现象 可以使用@Resource注解 * * */ @Service public class UserServiceImpl implements UserService { @Resource private UserMapper userMapper; @Override public List<User> findAll1() { return userMapper.findAll1(); } @Override public int delUser1(int id) { return userMapper.delUser1(id); } @Override public int addUser1(User user) { return userMapper.addUser1(user); } @Override public int updUser1() { User user = new User(); user.setId(5); user.setUsername("huahua"); user.setPassword("999"); user.setName("花花"); return userMapper.updUser1(user); } /** * 查找全部用户 * @return */ @Override public List<User> findAll() { return userMapper.findAll(); } /** * 添加用话 * @param user * @return */ @Override public int addUser(User user) { return userMapper.addUser(user); } /** * 根据id删除用户 * @param id * @return */ @Override public int delUser(int id) { return userMapper.delUser(id); } /** * 更新用户 * @return */ @Override public int updUser() { User user1 = new User(); user1.setId(6); user1.setUsername("xixi"); user1.setPassword("456"); user1.setName("嘻嘻"); return userMapper.updUser(user1); } }controller
package com.itheima.controller; import com.itheima.pojo.User; import com.itheima.service.impl.UserServiceImpl; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; @RestController public class UserController { @Resource private UserServiceImpl userServiceImpl; @RequestMapping("/user/findAll1") public List<User> findAll1() { return userServiceImpl.findAll1(); } /** * 查找全部用户 * @return */ @RequestMapping("/user/findAll") public List<User> findAll() { return userServiceImpl.findAll(); } @RequestMapping("/user/addUser1") public void addUser1() { User user = new User(5,"xiaoming","666","小明"); int index = userServiceImpl.addUser1(user); if(index > 0) { System.out.println("增加成功"); }else { System.out.println("增加失败"); } } /** * 添加用户 */ @RequestMapping("/user/addUser") public void addUser() { User user = new User(3,"wangwu","123","王五"); int index = userServiceImpl.addUser(user); if(index > 0) { System.out.println("添加成功"); }else { System.out.println("添加失败"); } } @RequestMapping("/user/delUser1") public void delUser1(@RequestParam(value = "id") int id) { int index = userServiceImpl.delUser1(id); if(index > 0) { System.out.println("删除成功"); }else { System.out.println("删除失败"); } } /** * 根据id删除用户 * @param id */ @RequestMapping("/user/delUser") public void delUser(@RequestParam(value = "id") int id) { int index = userServiceImpl.delUser(id); if(index > 0) { System.out.println("删除成功"); }else { System.out.println("删除失败"); } } @RequestMapping("/user/updUser1") public void updUser1() { int index = userServiceImpl.updUser1(); if(index > 0) { System.out.println("更新成功"); }else { System.out.println("更新失败"); } } /** * 更新用户 */ @RequestMapping("/user/updUser") public void updUser() { int index = userServiceImpl.updUser(); if(index > 0) { System.out.println("更新成功"); }else { System.out.println("更新失败"); } } }pojo
package com.itheima.pojo; import lombok.Data; @Data public class User { private int id; private String username; private String password; private String name; public User(int id, String username, String password, String name) { this.id = id; this.username = username; this.password = password; this.name = name; } public User() { } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getName() { return name; } public void setName(String name) { this.name = name; } public User(int id) { this.id = id; } }配置文件
# 配置数据库连接信息,数据库名称 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/heima?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC # 账户 spring.datasource.username=root # 密码 spring.datasource.password=123456 # DB 配置 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver # 开启mybatis的mapper扫描 mybatis.mapper-locations=classpath:mapper/*Mapper.xml # 开启mybatis的别名配置 mybatis.type-aliases-package=com.itheima.pojomapper.xml文件的配置
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.itheima.mapper.UserMapper"> <!--报红但是别名配置成功--> <!--查找全部用户--> <select id="findAll" resultType="user"> select * from user ; </select> <!--删除用户--> <delete id="delUser" parameterType="int"> delete from user where id=#{id}; </delete> <!--添加用户--> <insert id="addUser" parameterType="user"> insert into user(username,password,name) values(#{username},#{password},#{name}); </insert> <!--更新用户--> <update id="updUser" parameterType="user"> update user set username=#{username},password=#{password},name=#{name} where id=#{id}; </update> </mapper>