逆向工程能省去写繁多到SQL语句,需要用到mybatis插件,笔者上一篇文章中有介绍,主要是用xml配置文件生成映射,并且测试插入一条数据。
1、以下是项目结构和数据库设计(表名user),需要用到两个架包
2、新建mybatis文件,代码如下
<?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="context1">
<jdbcConnection
driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/test"
password="1234"
userId="root" />
<javaModelGenerator targetPackage="orm" targetProject="test" />
<sqlMapGenerator targetPackage="orm" targetProject="test" />
<javaClientGenerator targetPackage="orm" targetProject="test" type="XMLMAPPER" />
<table schema="test" tableName="user">
</table>
</context>
</generatorConfiguration>
3、run mybatis generator自动生成一个映射文件,结构如下,新建mybatis-config.xml,文件内容和笔者第一篇配置一样,不过这里要添加mappers。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"mybatis-3-config.dtd">
<configuration>
<!-- 数据库环境 -->
<environments default="development">
<environment id="development">
<!-- 采用JDBC管理器方式 -->
<transactionManager type="JDBC"/>
<!-- POOLED采用mybabtis内部连接池方式 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="root"/>
<property name="password" value="1234"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="orm/UserMapper.xml"/>
</mappers>
</configuration>
4、新建class获得SqlSessionFactory,并插入一条数据测试运行,查看数据库,插入成功,流程结束
package com.inserOne;
import java.io.IOException;
import java.io.InputStream;
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 orm.User;
public class inserOne {
public static void main(String[] args) {
User user = new User();
user.setName("first");
user.setAge(18);
user.setPassword("1234");
String resource = "mybatis-config.xml";
try {
InputStream inputstream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory =
new SqlSessionFactoryBuilder().build(inputstream);
System.out.println(sqlSessionFactory);
SqlSession sqlSession = sqlSessionFactory.openSession();
sqlSession.insert("insert", user);
sqlSession.commit();
sqlSession.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}