下面是关于“Springboot通用mapper和mybatis-generator代码示例”的完整攻略:
一、什么是Springboot通用mapper和mybatis-generator
1. Springboot通用mapper
Springboot通用mapper是一款能够提高数据访问的工具,主要用于深度整合Mybatis和Spring Data JPA两个持久层框架,帮助实现DAO层的消融。
通俗来讲,Springboot通用mapper是一款简化Mybatis操作的插件,能够自动生成Mapper的CRUD代码,从而减少我们手写Mapper的工作量。同时,它兼容Mybatis和JPA两种ORM框架。
2. Mybatis-generator
Mybatis-generator是一款自动化生成Mybatis代码的工具,能够自动生成包括Mapper、Model、XML等文件,大大提高了开发效率和代码质量。
二、如何使用Springboot通用mapper和mybatis-generator
在使用Springboot通用mapper和mybatis-generator之前,我们需要先按照以下步骤进行配置。
1. 引入依赖
在项目的pom.xml
文件中引入如下依赖:
<!--Springboot通用mapper-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
<!-- Mybatis-generator-->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
2. 配置属性
在application.properties
文件中配置如下属性:
# Springboot通用mapper
mapper.mappers=tk.mybatis.mapper.common.Mapper
mapper.not-empty=false
mapper.identity=MYSQL
# Mybatis-generator
mybatis.generator.configuration=mybatis-generator.xml
3. 配置生成器
在项目中创建mybatis-generator.xml
文件,配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<context id="MySql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<!--数据库连接信息-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8"
userId="root"
password="root">
</jdbcConnection>
<!--Java Model生成目录-->
<javaModelGenerator targetPackage="com.example.demo.model" targetProject="src/main/java">
<!-- 是否清除已有的生成目录,默认为false -->
<property name="enableSubPackages" value="true"/>
<!-- 是否针对string类型的字段,在set/get方法中进行trim()操作,默认为false -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!--Mapper.xml生成目录-->
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
</sqlMapGenerator>
<!--Mapper接口生成目录-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.demo.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!--表定义,#{}表示参数替换,${}表示表名替换-->
<table catalog="test" schema="test" tableName="t_user" domainObjectName="User" enableCountByExample="false"
enableDeleteByExample="false"
enableSelectByExample="false" enableUpdateByExample="false">
</table>
</context>
</generatorConfiguration>
其中,com.example.demo
为项目所在包名,t_user
为数据库表名,User
为Java模型类名。
4. 编写代码
现在,我们可以开始使用Springboot通用mapper和mybatis-generator自动生成Mapper的CRUD代码了。
示例1:使用Springboot通用mapper实现数据查询
创建Mapper文件:
import com.example.demo.model.User;
import org.apache.ibatis.annotations.Select;
import tk.mybatis.mapper.common.Mapper;
public interface UserMapper extends Mapper<User> {
@Select("SELECT * FROM t_user WHERE username = #{username} AND password = #{password}")
User findByUsernameAndPassword(String username, String password);
}
引入Mapper并调用:
import com.example.demo.mapper.UserMapper;
import com.example.demo.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User findByUsernameAndPassword(String username, String password) {
return userMapper.findByUsernameAndPassword(username, password);
}
}
示例2:使用mybatis-generator自动生成Mapper的CRUD代码
通过运行Mybatis-generator自动生成Mapper的CRUD代码:
import com.example.demo.mapper.UserMapper;
import com.example.demo.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public void save(User user) {
userMapper.insert(user);
}
public User findById(Long id) {
return userMapper.selectByPrimaryKey(id);
}
public void update(User user) {
userMapper.updateByPrimaryKey(user);
}
public void delete(Long id) {
userMapper.deleteByPrimaryKey(id);
}
}
三、总结
以上就是关于“Springboot通用mapper和mybatis-generator代码示例”的完整攻略,我们可以通过它们自动生成Mapper的CRUD代码,从而减少我们手写Mapper的工作量。同时,这两个工具同时也提高了我们的开发效率和代码质量。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Springboot通用mapper和mybatis-generator代码示例 - Python技术站