SpringBoot整合TkMybatis(通用mapper)(自定义xml文件)

编程入门 行业动态 更新时间:2024-10-24 04:31:45

SpringBoot整合TkMybatis(通用mapper)(<a href=https://www.elefans.com/category/jswz/34/1771438.html style=自定义xml文件)"/>

SpringBoot整合TkMybatis(通用mapper)(自定义xml文件)

TkMybatis目录

  1. SpringBoot整合TkMybatis(通用mapper)
  2. SpringBoot整合TkMybatis(通用mapper)(自定义xml文件)

源码

GitHub:

前一篇文章说了怎么使用tkmybatis中给我们提供的CRUD接口,直接调用即可,但是很多情况下提供的接口并不满足所有需求,那么就需要我们自己配置xml文件了

Springboot整合tkmybatis

pom.xml:

<dependencies><!-- springboot --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- tkmybatis --><dependency><groupId>tk.mybatis</groupId><artifactId>mapper</artifactId><version>4.1.5</version></dependency><dependency><groupId>tk.mybatis</groupId><artifactId>mapper-spring-boot-starter</artifactId><version>2.1.5</version></dependency><!-- mysql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><!-- lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency>
</dependencies>

UserController:

@RestController
public class UserController {@Autowiredprivate UserService userService;@RequestMapping("/findById/{id}")public User findById(@PathVariable int id) {User user = userService.findById(id);return user;}@RequestMapping("/findAll")public List<User> findAll() {List<User> userList = userService.findAll();return userList;}@RequestMapping("/insert")public void insert() {User user = new User();user.setName("张三");user.setSex("男");user.setAge(18);user.setAddress("江西省");user.setPhone("456789645");userService.insert(user);}@RequestMapping("/delete")public void delete() {User user = new User();user.setId(5);userService.delete(user);}@RequestMapping("/update")public void update() {User user = new User();user.setId(5);user.setName("李四");userService.update(user);}
}

UserService:

public interface UserService {public User findById(int id);public List<User> findAll();public void insert(User user);public void update(User user);public void delete(User user);}

UserServiceImpl:

@Service
public class UserServiceImpl implements UserService {@Autowiredprivate UserMapper userMapper;@Overridepublic User findById(int id) {return userMapper.selectUserById(id);}@Overridepublic List<User> findAll() {return userMapper.selectUserList();}@Overridepublic void insert(User user) {userMapper.insertUser(user);}@Overridepublic void update(User user) {userMapper.updateUser(user);}@Overridepublic void delete(User user) {userMapper.deleteUser(user);}
}

UserMapper:

public interface UserMapper extends Mapper<User> {public void insertUser(User user);public void updateUser(User user);public void deleteUser(User user);public User selectUserById(int id);public List<User> selectUserList();
}

UserMapper.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis//DTD Mapper 3.0//EN" ".dtd" >
<mapper namespace="com.wyj.mapper.UserMapper"><insert id="insertUser" parameterType="com.wyj.entity.po.User">insert into `user`(name,sex,age,address,phone) values (#{name},#{sex},#{age},#{address},#{phone})</insert><update id="updateUser" parameterType="com.wyj.entity.po.User">update `user`<set><if test="name != null and name != ''">name=#{name},</if><if test="sex != null and sex != ''">sex=#{sex},</if><if test="age != 0">age=#{age},</if><if test="address != null and address != ''">address=#{address},</if><if test="phone != null and phone != ''">phone=#{phone},</if></set>where id=#{id}</update><delete id="deleteUser" parameterType="com.wyj.entity.po.User">delete from `user` where id=#{id}</delete><select id="selectUserById" parameterType="java.lang.Integer" resultType="com.wyj.entity.po.User">select id,name,sex,age,address,phone from `user` where id=#{id}</select><select id="selectUserList" resultType="com.wyj.entity.po.User">select id,name,sex,age,address,phone from `user`</select>
</mapper>

application.properties:

#tomcat port
server.port=8080
#datasource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://188.131.247.26:3306/springboot-tkmybatis01?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
spring.datasource.username=root
spring.datasource.password=root
#logging
logging.level.wyj.mapper:debug
#TkMybatis
mybatis.mapper-locations=classpath*:mapper/*.xml
mybatis.type-aliases-package=com.wyj.entity

User:

@Data
@Entity
public class User implements Serializable {@Id@KeySql(useGeneratedKeys = true)private Integer id;private String name;private String sex;private Integer age;private String address;private String phone;
}

SpringbootTkmybatisApplication:

@SpringBootApplication
@MapperScan("com.wyj.mapper")//tkmybatis的注解
public class SpringbootTkmybatisApplication {public static void main(String[] args) {SpringApplication.run(SpringbootTkmybatisApplication.class, args);}
}

更多推荐

SpringBoot整合TkMybatis(通用mapper)(自定义xml文件)

本文发布于:2024-03-12 03:04:06,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1730544.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:自定义   文件   TkMybatis   SpringBoot   xml

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!