• 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";
        }
    }
  • 相关阅读:
    反射机制小结
    IO流小节
    C# 利用file打印日志
    JS判断表单内容是否更改过
    input file 样式以及获取选择文件方法集合
    JS判断终端浏览器类型
    Node.js服务的重启与监控
    ASP.NET MVC 与Form表单交互
    JS 更改表单的提交时间和Input file的样式
    My SQL和LINQ 实现ROW_NUMBER() OVER以及Fatal error encountered during command execution
  • 原文地址:https://www.cnblogs.com/gdpuzxs/p/7222221.html
Copyright © 2020-2023  润新知