• SpringBoot与Mybatis整合


    (1)pom.xml中引入jar包,如下:这里不需要引入spring-boot-starter-jdbc依赖,因为mybatis-spring-boot-starter中已经包含了此依赖

    复制代码
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </dependency>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>1.1.1</version>
            </dependency>
    复制代码

      (2)在application.properties配置数据库连接信息,如下:

    #mysql数据库配置
    spring.datasource.url=jdbc:mysql://172.31.19.20:3306/springboot
    spring.datasource.username=root
    spring.datasource.password=root
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver

      (3)新建User实体类,如下:

    复制代码
    package springboot.domain;
    
    public class User {
    
        private String id;
        private String name;
        private String age;
    
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getAge() {
            return age;
        }
        public void setAge(String age) {
            this.age = age;
        }
        public String getId() {
            return id;
        }
        public void setId(String id) {
            this.id = id;
        }
        @Override
        public String toString() {
            return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
        }
        
    }
    复制代码

      (4)新建UserMapper类

    复制代码
    package springboot.dao;
    
    import org.apache.ibatis.annotations.Delete;
    import org.apache.ibatis.annotations.Insert;
    import org.apache.ibatis.annotations.Mapper;
    import org.apache.ibatis.annotations.Param;
    import org.apache.ibatis.annotations.Select;
    import org.apache.ibatis.annotations.Update;
    
    import springboot.domain.User;
    
    @Mapper
    public interface UserMapper {
    
        @Insert("insert into user(name,age) values(#{name},#{age})")
        int addUser(@Param("name")String name,@Param("age")String age);
        
        @Select("select * from user where id =#{id}")
        User findById(@Param("id") String id);
        
        @Update("update user set name=#{name} where id=#{id}")
        void updataById(@Param("id")String id,@Param("name")String name);
        
        @Delete("delete from user where id=#{id}")
        void deleteById(@Param("id")String id);
        
    }
    复制代码

      这里使用mybatis注解版,相比以前少了一个与dao层相对应的xml文件,还是挺方便的。

      (5)Service层代码如下:

    复制代码
    package springboot.service;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import springboot.dao.UserMapper;
    import springboot.domain.User;
    
    
    @Service
    public class UserService {
    
        @Autowired
        private UserMapper userMapper;
        
        
        public User findById(String id){
            return userMapper.findById(id);
        }
        
        public int addUser(String name,String age){
            return userMapper.addUser(name,age);
        }
        
        public void updataById(String id,String name){
             userMapper.updataById(id,name);
        }
        
        public void deleteById(String id){
            userMapper.deleteById(id);
        }
    }
    复制代码

      (6)Controller层,代码如下:

    复制代码
    package springboot.web;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;
    import springboot.domain.User;
    import springboot.service.UserService;
    
    @RestController
    public class HelloController {
        
        @Autowired
        private UserService userService;
        
        @RequestMapping("/adduser")
        public int addUser(@RequestParam("name")String name,@RequestParam("age")String age){
            return userService.addUser(name, age);
        }
        @RequestMapping("/findUser")
        public User findUser(@RequestParam("id") String id){
            return userService.findById(id);
        }
        @RequestMapping("/updataById")
        public String updataById(@RequestParam("id") String id,@RequestParam("name") String name){
            try {
                userService.updataById(id, name);
            } catch (Exception e) {
                return "error";
            }
            return "success";
        }
        
        @RequestMapping("/deleteById")
        public String deleteById(@RequestParam("id") String id){
            try {
                userService.deleteById(id);
            } catch (Exception e) {
                return "error";
            }
            return "success";
        }
    }
    复制代码
  • 相关阅读:
    js-禁止微信H5页面点击右上角菜单时出现“复制链接”,且分享仅支持微信分享
    js-获取用户移动端网络类型:wifi、4g、3g、2g...
    小程序-云开发部署流程(步骤二)
    小程序-(报错)请使用 2.2.3 或以上的基础库以使用云能力(步骤一)
    解决iOS10的Safari下Meta设置user-scalable=no无效的方法
    领域驱动, 事件驱动,测试驱动
    spring web项目中整合netty, akka
    why rpc
    nginx配置https证书
    org.apache.http.NoHttpResponseException
  • 原文地址:https://www.cnblogs.com/Andrew520/p/8679267.html
Copyright © 2020-2023  润新知