目录结构
数据库信息:
数据库student -> 表名 custom_user -> 主键-> custom_id ,其他字段 cusotm_name,custom_age
1.加入依赖
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.0.1</version> </dependency>
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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.5.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.guoxw</groupId> <artifactId>mybatis_test</artifactId> <version>0.0.1-SNAPSHOT</version> <name>mybatis_test</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.0.1</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
2.mybatis-config.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> </configuration>
3. mapper/custom_user.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.guoxw.mybatis_test.mapper.CustomUserMapper"> <select id="findById" parameterType="Integer" resultType="com.guoxw.mybatis_test.entity.CustomUser"> select * from custom_user where custom_id =#{ value } </select> <!-- 如果这里没有传入参数,不需要定义parameter ,如果是查询涉及多表,返回类型可以直接使用map 键值对--> <!-- 使用LinkedHashMap 可以将map中的数据按照插入顺序进行排序 --> <!-- #{custom_id} 传入参数,custom_id 是和map的key值对应--> <!-- 可以加入if 语句 --> <select id="findAll" parameterType="java.util.Map" resultType="java.util.Map"> select * from custom_user where custom_id > #{custom_id} <if test="custom_age !=null"> and custom_age > #{custom_age} </if> <!-- select * from custom_user1 p ,custom_user2 d where p.nage=d.name --> </select> <insert id="create" parameterType="com.guoxw.mybatis_test.entity.CustomUser"> insert into custom_user ( custom_name,custom_age) values (#{custom_name},#{custom_age}) <!-- selectKEY 用于回填数据 keyProperty 主键 keycolume是字段名 resultType 是字段类型 order 是指定在执行sql前或后返回数据--> <selectKey keyProperty="custom_id" keyColumn="custom_id" resultType="Integer" order="AFTER"> select Last_INSERT_ID() </selectKey> </insert> <update id="update" parameterType="com.guoxw.mybatis_test.entity.CustomUser"> update custom_user set custom_age = #{custom_age} where custom_id=2 </update> <delete id="del" parameterType="Integer"> delete from custom_user where custom_id=#{custom_id} </delete> </mapper>
4.CustomUserMapper
public interface CustomUserMapper { public CustomUser findById(Integer id); public List<Map> findAll(Map params); public void create(CustomUser user); public void update(CustomUser user); public void del(Integer custom_id); }
5.CustomUserService
@Service public class CustomUserService { @Resource private CustomUserMapper customUserMapper; public CustomUser findById(Integer id){ return customUserMapper.findById(id); } /*** * * @return */ public List<Map> findAll(Integer id,Integer age){ Map params=new HashMap(); params.put("custom_id",id); params.put("custom_age",age); return customUserMapper.findAll(params); } @Transactional public void create(CustomUser user){ customUserMapper.create(user); } @Transactional public void update(CustomUser user){ customUserMapper.update(user); } @Transactional public void del(Integer custom_id){ customUserMapper.del(custom_id); } }
6. entity/CustomUser
public class CustomUser { private Integer custom_id; private String custom_name; private Integer custom_age; public Integer getCustom_id() { return custom_id; } public void setCustom_id(Integer custom_id) { this.custom_id = custom_id; } public String getCustom_name() { return custom_name; } public void setCustom_name(String custom_name) { this.custom_name = custom_name; } public Integer getCustom_age() { return custom_age; } public void setCustom_age(Integer custom_age) { this.custom_age = custom_age; } }
7. CustomUserController
@RestController @RequestMapping(path = "/get") public class CustomUserController { @Resource CustomUserService customUserService; @RequestMapping(path = "/user/{id}") public CustomUser findById(@PathVariable("id") int id){ return customUserService.findById(id); } @RequestMapping(path = "/user/all",method = RequestMethod.GET) public List<Map>findAll(@RequestParam("custom_id") Integer custom_id, Integer custom_age){ List<Map> list=customUserService.findAll(custom_id,custom_age); return list; } @RequestMapping(path = "/user/insert",method = RequestMethod.GET) public CustomUser create(){ CustomUser user=new CustomUser(); user.setCustom_age(31); user.setCustom_name("guoxw_4"); customUserService.create(user); return user; } @RequestMapping(path = "/user/update",method = RequestMethod.GET) public CustomUser update(){ CustomUser user=customUserService.findById(2); user.setCustom_age(user.getCustom_age()*2); customUserService.update(user); return user; } @RequestMapping(path = "/user/del",method = RequestMethod.GET) public String del(Integer id){ customUserService.del(id); return "ok"; } }
8.yml
spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf-8 username: root password: 12345678 # jackson: # deserialization: true mybatis: config-location: classpath:/mybatis/mybatis-config.xml mapper-locations: classpath:/mybatis/mapper/*.xml logging: level: com.guoxw.mybatis_test: debug
9. code :mybatis_test
链接:https://pan.baidu.com/s/1NTf_H-n2Ch0Wwe878I84ig 密码:49ak
原文地址:https://www.cnblogs.com/galibujianbusana/p/11108525.html
时间: 2024-10-24 22:04:46