1 使用mybits
https://mybatis.p2hp.com/getting-started.html
- 创建实体类
public class User {
private Long id;
private String name;
private Integer age;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
- 创建 Mapper 接口
import java.util.List;
public interface UserMapper {
List<User> findAll();
User findById(Long id);
}

3. 编写 Mapper XML
文件路径一般是:src/main/resources/mapper/UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.teemo.mybatis.mapper.UserMapper">
<select id="findAll" resultType="com.teemo.pojo.User">
SELECT id, name, age
FROM user
</select>
<select id="findById" parameterType="long" resultType="com.teemo.pojo.User">
SELECT id, name, age
FROM user
WHERE id = #{id}
</select>
</mapper>
这里要注意:
要和你的 UserMapper 接口对应。如果有包名,就写完整包名,比如:
<mapper namespace="com.teemo.mapper.UserMapper">
- 编写 MyBatis 配置文件
文件路径:src/main/resources/mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="dev">
<environment id="dev">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai"/>
<property name="username" value="root"/>
<property name="password" value="你的数据库密码"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>
- 编写测试代码
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.InputStream;
import java.util.List;
public class Main {
public static void main(String[] args) throws Exception {
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory =
new SqlSessionFactoryBuilder().build(inputStream);
try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
List<User> users = userMapper.findAll();
for (User user : users) {
System.out.println(user.getId() + " " + user.getName() + " " + user.getAge());
}
}
}
}
- userMap 可以添加映射关系

2 mybits generator
使用MyBatis Generator插件:只需配置数据库连接信息,指定生成位置和规则,即可自动生成PO类。
步骤1:新建 generatorConfig.xml
src/main/resources 目录下创建 generatorConfig.xml 文件,配置 MBG 的基本参数:
<?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>
<!-- 数据库驱动路径(可选,若已通过 Maven 引入驱动则无需指定) -->
<!-- <classPathEntry location="D:/maven/repository/mysql/mysql-connector-java/8.0.33/mysql-connector-java-8.0.33.jar"/> -->
<context id="DB2Tables" targetRuntime="MyBatis3">
<!-- 自动识别数据库关键字,默认 false -->
<property name="autoDelimitKeywords" value="true"/>
<!-- 生成的 Java 文件的编码 -->
<property name="javaFileEncoding" value="UTF-8"/>
<!-- 注释生成器配置 -->
<commentGenerator>
<property name="suppressDate" value="true"/> <!-- 不生成日期 -->
<property name="suppressAllComments" value="true"/> <!-- 不生成注释 -->
</commentGenerator>
<!-- 数据库连接配置 -->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/your_database"
userId="root"
password="your_password">
<!-- 针对 MySQL 的时区问题配置 -->
<property name="nullCatalogMeansCurrent" value="true"/>
</jdbcConnection>
<!-- Java 类型处理器 -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成实体类的配置 -->
<javaModelGenerator targetPackage="com.example.entity"
targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成Mapper XML 映射文件的配置 -->
<sqlMapGenerator targetPackage="mapper"
targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成 Mapper 接口的配置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.example.mapper"
targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 指定要生成代码的表(可配置多个 table 节点) -->
<table tableName="user" domainObjectName="User" enableCountByExample="false"
enableUpdateByExample="false" enableDeleteByExample="false"
enableSelectByExample="false" selectByExampleQueryId="false">
<!-- 列映射配置(可选) -->
<!-- <columnOverride column="id" property="id" javaType="java.lang.Integer"/> -->
</table>
<!-- 可添加更多表配置... -->
</context>
</generatorConfiguration>
步骤2:新建 generatorConfig.xml
接通过 Maven 插件运行(推荐)
无需手动配置 Run Configuration,通过 IDEA 的 Maven 面板即可快速运行:
- 在 IDEA 右侧打开 Maven 面板(若未显示,可通过 View -> Tool Windows -> Maven 调出);
- 展开当前项目的 Plugins -> mybatis-generator;
- 双击 mybatis-generator:generate 即可执行代码生成:
生成的文件将出现在配置指定的目录下
参考:
https://blog.youkuaiyun.com/2302_79926174/article/details/149451473
8934



被折叠的 条评论
为什么被折叠?



