一、使用idea创建一个Springboot项目(Spring Initializr)
1.pom文件中引入相关依赖
<!--web核心依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--mysql数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
2.创建目录结构
3.编写实体类User(生成其get、set方法)
4.编写mapper接口(需要使用@Mapper注解,不然SpringBoot无法扫描)
5.配置UserMapper.xml文件(编写在resources文件中创建 mapper/UserMapper.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.wule.springmybatisdemo.mapper.UserMapper"> <!--查询全部--> <select id="findAll" resultType="User"> SELECT * FROM tb_user </select> <!--插--> <insert id="insert" parameterType="user"> INSERT INTO tb_user VALUES(#{id},#{username},#{password}) </insert> <!--删--> <delete id="delete" parameterType="long"> delete from tb_user where id = #{id} </delete> <!--改--> <!--通过id进行修改--> <update id="update" parameterType="user"> update tb_user set username = #{username}, password = #{password} where id = #{id} </update> <select id="getById" parameterType="long" resultType="user" > select * from tb_user where id = #{id} </select> </mapper> <!--1.namespace中需要与使用@Mapper的接口对应 2.UserMapper.xml文件名称必须与使用@Mapper的接口一致 3.标签中的id必须与@Mapper的接口中的方法名一致,且参数一致 -->
6.编写userService接口及实现类
public interface UserService { List<User> findAllpeople(); //增 void insert(User user); //删 (根据id删除) void delete(Long id); //改 (根据id修改) void update(User user); //查 (根据id查) User getById(Long id); }
7.编写api接口(userController类)
@RestController @RequestMapping("/user") public class UserController { @Autowired private UserService userService; //查询所有 @RequestMapping("/findAll") public List<User> findAll() { return userService.findAllpeople(); } //插 @RequestMapping("/insert") public void insertPeople(User user) { //User user = new User(); user.setId(6L); user.setUsername("李四"); user.setPassword("66666"); userService.insert(user); } //删 @RequestMapping("/delete/{id}") public void deletePeople(@PathVariable("id") Long id) { userService.delete(id); } //改 @RequestMapping("/update/{id}") public void updatePeople(@PathVariable("id") Long id, User user) { //可再次进行id进行判断,存在则改反之则插入 user.setId(id); user.setUsername("张三三"); user.setPassword("XXXXXX"); userService.update(user); } //查 (根据id查) @RequestMapping("/select/{id}") public User getUser(@PathVariable("id") Long id) { return userService.getById(id); } }
8.编写数据库配置文件application.yml
server: port: 8081 spring: #数据库连接配置 datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/mybatistest?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC username: root password: 123456 #mybatis的相关配置 mybatis: #mapper配置文件,配置xml映射路径 mapper-locations: classpath:mapper/*.xml #配置实体类别名 type-aliases-package: com.wule.springmybatisdemo.entity #开启驼峰命名 configuration: map-underscore-to-camel-case: true
9.创建名为mybatistest的数据库,创建tb_user表
Create Table |
CREATE TABLE `tb_user` ( `id` int(11) NOT NULL, `username` varchar(255) DEFAULT NULL, `password` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
10.启动并测试