Home >Java >javaTutorial >How to get started quickly with SpringBoot MyBatis
MyBatis is an excellent persistence layer framework that supports custom SQL, stored procedures and advanced mapping. MyBatis eliminates almost all JDBC code and the work of setting parameters and getting result sets. MyBatis can configure and map primitive types, interfaces and Java POJOs (Plain Old Java Objects) into records in the database through simple XML or annotations.
1. The overall directory structure of the MyBatis project
2. Create a simple SpringBoot project
<!--MyBatis--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.32</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> </dependency>4. Create the USER table in the database
CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(20) NOT NULL DEFAULT "" COMMENT "用户名", `password` varchar(50) NOT NULL DEFAULT "" COMMENT "密码", PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;5. Configure the database connection information in application.properties
#数据库相关配置 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useSSL=false&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useAffectedRows=true spring.datasource.username=root spring.datasource.password=QQ796413 #mybaits配置 #mapper加载路径 mybatis.mapper-locations= classpath:mapper/*.xml #实体包位置 mybatis.type-aliases-package= com.example.mybatisdemo.entity #myatbis配置文件 mybatis.config-location= classpath:mybatis-config.xml6. Create the entity class corresponding to the USER table
package com.example.mybatisdemo.entity; public class User { private int id; private String username; private String password; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "User{" + "id=" + id + ", username="" + username + """ + ", password="" + password + """ + "}"; }7. Create UserMapper.java in mapper/UserMapper
package com.example.mybatisdemo.mapper; import com.example.mybatisdemo.entity.User; import org.apache.ibatis.annotations.Mapper; @Mapper public interface UserMapper{ User findUserById(Integer id); }8. Create new UserService.java## in service/UserService
#
package com.example.mybatisdemo.service; import com.example.mybatisdemo.entity.User; public interface UserService { User findUserById(Integer id); }9. Create UserServiceImpl.java in service/impl/UserServiceImpl
package com.example.mybatisdemo.service.impl; import com.example.mybatisdemo.entity.User; import com.example.mybatisdemo.mapper.UserMapper; import com.example.mybatisdemo.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public User findUserById(Integer id) { return userMapper.findUserById(id); } }10. Create a new mybatis- under resources conf.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <!--开启日志--> <setting name="logImpl" value="STDOUT_LOGGING"/> <!--开启驼峰命名法--> <setting name="mapUnderscoreToCamelCase" value="true"/> <!--开启全局延迟加载--> <setting name="lazyLoadingEnabled" value="true"/> <!-- 集合为空时强制返回空集合实例而不是null --> <setting name="returnInstanceForEmptyRow" value="true"/> <!-- 结果集中value为空时保留key --> <setting name="callSettersOnNulls" value="true"/> </settings> </configuration>11. Create UserMapper.xml under the mapper file under resources
<?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"> <!--注意:1.这里的namespace要是你usermapper的位置--> <mapper namespace="com.example.mybatisdemo.mapper.UserMapper"> <!--注意这里的返回类型--> <resultMap id="BaseResultMap" type="com.example.mybatisdemo.entity.User"> <result column="id" property="id"/> <result column="username" property="username"/> <result column="password" property="password"/> </resultMap> <!--2.id和你的方法名一样,resultMap为上面的id名一致--> <select id="findUserById" resultMap="BaseResultMap"> select id, username, password from user where id= #{id,jdbcType=INTEGER} </select> </mapper>12. Create UserController.java
package com.example.mybatisdemo.controller; import com.example.mybatisdemo.entity.User; import com.example.mybatisdemo.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController public class UserController { @Autowired UserService userService; @GetMapping("/findUserById") public User findUserById(@RequestParam Integer id){ return userService.findUserById(1); } }13. Test
The above is the detailed content of How to get started quickly with SpringBoot MyBatis. For more information, please follow other related articles on the PHP Chinese website!