spring-boot整合mybatis

技术文档网 2021-04-25
  1. 依赖

    <dependency>
     <groupId>org.mybatis.spring.boot</groupId>
     <artifactId>mybatis-spring-boot-starter</artifactId>
     <version>2.1.1</version>
    </dependency>
    <dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
     <scope>runtime</scope>
    </dependency>
    
  2. 配置数据源

    server:
    port: 8090
    spring:
    application:
     name: boot-ssm-consumer
    datasource:
     url: jdbc:mysql://127.0.0.1:3306/demo?characterEncoding=utf-8&useSSL=true
     username: root
     password: root
     driver-class-name: com.mysql.jdbc.Driver
    mybatis:
    mapper-locations: classpath:mapper/*Mapper.xml
    #  type-aliases-package: com.guan.pojo
    
  3. Mapper

    #interface
    @Mapper
    @Repository
    public interface UserMapper {
    
     List<User> findAll();
    
     User findById(Integer id);
    
     int save(User user);
    
     int update(User user);
    
     int deleteById(Integer id);
    }
    #xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://www.mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="com.guan.mapper.UserMapper">
    
     <select id="findAll" resultType="com.guan.pojo.User">
         select * from tb_user
     </select>
    
     <select id="findById" resultType="com.guan.pojo.User">
         select * from tb_user where id=#{id}
     </select>
    
     <insert id="save" parameterType="com.guan.pojo.User">
         insert into tb_user(name,age,address)
         values(#{name},#{age},#{address})
     </insert>
    
     <update id="update" parameterType="com.guan.pojo.User">
         update tb_user set name=#{name},age=#{age},address=#{address}
         where id=#{id}
     </update>
    
     <delete id="deleteById" parameterType="integer">
         delete from tb_user where id=#{id}
     </delete>
    </mapper>
    
  4. service

    @Service
    public class UserServiceImpl implements UserService {
    
     @Autowired
     private UserMapper userMapper;
    
     @Override
     public List<User> findAll() {
         return userMapper.findAll();
     }
    
     @Override
     public User findById(Integer id) {
         return userMapper.findById(id);
     }
    
     @Override
     public int save(User user) {
         return userMapper.save(user);
     }
    
     @Override
     public int update(User user) {
         return userMapper.update(user);
     }
    
     @Override
     public int deleteById(Integer id) {
         return userMapper.deleteById(id);
     }
    }
    
  5. controller

    @RestController
    @RequestMapping("/user")
    public class UserController {
    
     @Autowired
     private UserService userService;
    
     @RequestMapping(value = "/findAll", method=RequestMethod.GET)
     public List<User> findAll(){
         return userService.findAll();
     }
    
     @RequestMapping(value = "/findById/{id}", method=RequestMethod.GET)
     public User findById(@PathVariable Integer id){
         return userService.findById(id);
     }
    
     @RequestMapping(value = "/save", method=RequestMethod.POST)
     public int save(User user){
         return userService.save(user);
     }
    
     @RequestMapping(value = "/update", method=RequestMethod.PUT)
     public int update(User user){
         return userService.update(user);
     }
    
     @RequestMapping(value = "/deleteById/{id}", method=RequestMethod.DELETE)
     public String deleteById(@PathVariable Integer id){
         userService.deleteById(id);
         return "删除成功";
     }
    }
    

源码:https://github.com/mrguanxs/boot_cloud.git 中的boot-ssm-consumer项目

相关文章

  1. 基于-SLF4J-MDC-机制的日志链路追踪配置属性

    ums: # ================ 基于 SLF4J MDC 机制的日志链路追踪配置属性 ================ mdc: # 是否支持基于 SLF4J MDC

  2. ajax-跨域访问

    ajax 跨域访问 &lt;!DOCTYPE html&gt; &lt;html xmlns:th="http://www.w3.org/1999/xhtml"&gt; &lt;head&gt;

  3. 给第三方登录时用的数据库表-user_connection-与-auth_token-添加-redis-cache

    spring: # 设置缓存为 Redis cache: type: redis # redis redis: host: 192.168.88.88 port

  4. Java动态代理

    Jdk动态代理 通过InvocationHandler和Proxy针对实现了接口的类进行动态代理,即必须有相应的接口 应用 public class TestProxy { public

  5. Java读取classpath中的文件

    public void init() { try { //URL url = Thread.currentThread().getContextClassLo

随机推荐

  1. 基于-SLF4J-MDC-机制的日志链路追踪配置属性

    ums: # ================ 基于 SLF4J MDC 机制的日志链路追踪配置属性 ================ mdc: # 是否支持基于 SLF4J MDC

  2. ajax-跨域访问

    ajax 跨域访问 &lt;!DOCTYPE html&gt; &lt;html xmlns:th="http://www.w3.org/1999/xhtml"&gt; &lt;head&gt;

  3. 给第三方登录时用的数据库表-user_connection-与-auth_token-添加-redis-cache

    spring: # 设置缓存为 Redis cache: type: redis # redis redis: host: 192.168.88.88 port

  4. Java动态代理

    Jdk动态代理 通过InvocationHandler和Proxy针对实现了接口的类进行动态代理,即必须有相应的接口 应用 public class TestProxy { public

  5. Java读取classpath中的文件

    public void init() { try { //URL url = Thread.currentThread().getContextClassLo