栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot整合Mybatis、SpringMVC以及注解和XML方式CRUD

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot整合Mybatis、SpringMVC以及注解和XML方式CRUD

搭建环境

1.IDEA创建SpringBoot项目
2.选择依赖-关系型数据库(SQL)-勾选MySQL驱动、MyBatis环境、Web环境(没勾选的话手动加依赖)

        
            org.springframework.boot
            spring-boot-starter-web
        

    org.mybatis.spring.boot
    mybatis-spring-boot-starter
    1.3.2


            mysql
            mysql-connector-java
            runtime
        

        
        org.projectlombok
        lombok
    

3.创建application.yml配置文件,配置数据库信息。

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/shun?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver

4.创建实体类,关联数据库中的数据。

@Data
public class User {

    private int id;
    private String name;
    private int age;
}

5.创建Mapper类,定义查询所有数据的方法。

@Mapper
@Repository
public interface UserMapper {

    @Select("select * from shun2")
    public List findAll();
}

6.测试

@SpringBootTest
class DemoApplicationTests {
    
    @Autowired
    private UserMapper userMapper;

    @Test
    void contextLoads() {
        List list = userMapper.findAll();
        System.out.println(list);
    }
}
注解方式CRUD

UserMapper接口中创建CRUD方法

    @Select("select * from shun2")
    List findAll();

    
    @Select("select * from shun2 where sname = #{name}")
    User selectOneByName(@Param("name") String name);

    
    @Insert("INSERT INTO shun2(sname,age) VALUES(#{sname},#{age})")
    int addOne(User user);

    
    @Delete("DELETE FROM shun2 WHERe id = #{id}")
    boolean deleteOne(int id);

测试类进行测试

测试:查询所有用户
        List list1 = userMapper.findAll();
        System.out.println(list);*/

        //测试:添加一个用户
        User u1 = new User("张三",22);
        userMapper.addOne(u1);

        //测试:根据名字获取用户
        User u2 = userMapper.selectOneByName("张三");
        System.out.println(u2);

        //测试:根据id删除用户
        boolean b = userMapper.deleteOne(u2.getId());
        System.out.println(b);
XML方式CRUD

新建一个UserXmlMapper接口

public interface UserXmlMapper {
    
    List findAll();
    
    User selectOneByName(String name);
    
    void addOne(User user);
    
    boolean deleteOne(int id);
}

在resources.mapper文件夹下,创建对应的UserMapper.xml




    
        SELECT * FROM shun2 WHERe sname = #{name}
    
    
        INSERT INTO shun2(sname,age) VALUES (#{sname},#{age})
    
    
        DELETE FROM shun2 WHERe id = #{id}
    

application.yml配置mybatis的mapper.xml文件位置和实体类位置

mybatis:
  type-aliases-package: com.example.domain
  mapper-locations: classpath:mapper/*Mapper.xml

测试类进行测试

//        测试:查询所有用户
        List list2 = userXmlMapper.findAll();
        System.out.println(list2);
//        测试:添加一个用户
        User u3 = new User("赵四",40);
        userXmlMapper.addOne(u3);
//        测试:根据名字获取用户
        User u4 = userXmlMapper.selectOneByName("赵四");
        System.out.println(u4);
//        测试:根据id删除用户
        boolean b = userXmlMapper.deleteOne(u4.getId());
        System.out.println(b);
Controller层提供Web接口
@RestController
public class HelloController {

    @Autowired
    UserMapper userMapper;

    
    @RequestMapping("/list")
    public List selectList(){
        List list = userMapper.findAll();
        return list;
    }

    
    @GetMapping("/add")
    public void addOne(@RequestParam(value = "name",required = true) String name,
                       @RequestParam(value = "age",required = true) int age){

        User u = new User(name,age);
        userMapper.addOne(u);
    }

    
    @GetMapping("/selectOne")
    public User selectOne(@RequestParam(value = "name",required = true) String name){

        User user = userMapper.selectOneByName(name);
        return user;
    }

    
    @GetMapping("/delete")
    public boolean delte(@RequestParam(value = "id",required = true) int id){
        boolean b = userMapper.deleteOne(id);
        return b;
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/346033.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号