1。先关联数据库,用户,密码,数据库保持一致
2.添加包和类
1.User放和数据库属性一样的
package com.it.springbootmybatis01.pojo; @lombok.Data @lombok.AllArgsConstructor @lombok.NoArgsConstructor public class User { private Integer id; private String username; private String password; private String name; private String age; } 2.UserMapper放数据库操作的注解
package com.it.springbootmybatis01.mapper; import com.it.springbootmybatis01.pojo.User; import org.apache.ibatis.annotations.*; import java.util.List; @Mapper//表示应用程序在运行过程中,会通过这个接口来创建一个实现类对象,这个对象就是MyBatis的代理对象,并且会把这个对象交给Spring容器IOC管理 public interface UserMapper { //查询所有用户 // @Select("select * from user") public List<User> FindAll(); @Delete("delete from user where id=#{id}") public void deleteById(Integer id); @Insert("insert into user(username,password,name,age) values(#{username},#{password},#{name},#{age})") public void insert(User user); @Update("update user set username=#{username},password=#{password},name=#{name},age=#{age} where id=#{id}") public void update(User user); @Select("select * from user where username=#{username} and password=#{password}") public User findByUsernameAndPassword(@Param("username") String username, @Param("password") String password); //多个形参要用@Param注解给形参起别名 }
3.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.it.springbootmybatis01.mapper.UserMapper"> <select id="FindAll" resultType="com.it.springbootmybatis01.pojo.User"> select id,username,password,name,age from user </select> </mapper>
(注意包名和上面一样,文件名和接口名一样)
4.SpringbootMybatis01ApplicationTests放测试
package com.it.springbootmybatis01; import com.it.springbootmybatis01.mapper.UserMapper; import com.it.springbootmybatis01.pojo.User; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.util.List; @SpringBootTest//springboot测试类 class SpringbootMybatis01ApplicationTests { @Autowired private UserMapper userMapper; @Test public void testFindAll(){ //调用方法 List<User> userList = userMapper.FindAll(); userList.forEach(System.out::println); } @Test public void testDeleteById(){ //调用方法 userMapper.deleteById(5); } @Test public void testInsert(){ //调用方法 User user = new User(null,"小明","123456","小明","18"); userMapper.insert(user); } @Test public void testUpdate(){ //调用方法 User user = new User(2,"大红","123456","大红","18"); userMapper.update(user); } @Test public void testFindByUsernameAndPassword(){ //调用方法 User user = userMapper.findByUsernameAndPassword("大红","123456"); System.out.println(user); } }
5.pom.xml放相关依赖
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.it</groupId> <artifactId>springboot-mybatis01</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springboot-mybatis01</name> <description>springboot-mybatis01</description> <properties> <java.version>17</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <spring-boot.version>3.0.2</spring-boot.version> </properties> <dependencies> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>${spring-boot.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>17</source> <target>17</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${spring-boot.version}</version> <configuration> <mainClass>com.it.springbootmybatis01.SpringbootMybatis01Application</mainClass> <skip>true</skip> </configuration> <executions> <execution> <id>repackage</id> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>
6.配置文件application.properties
#下面这些内容是为了让MyBatis映射 #指定Mybatis的Mapper文件#如果没有按照要求建xml配置文件,需要在这里指定地址 mybatis.mapper-locations=classpath:mappers/*xml #指定Mybatis的实体目录 mybatis.type-aliases-package=com.it.springbootmybatis01.mybatis.entity #配置数据库的联接信息 spring.datasource.url=jdbc:mysql://localhost:3306/web01 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.username=root spring.datasource.password=q1q1q1q1q1q1 #配置MyBatis日志输出 mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl