安装
1、手动下载MyBatisGenerator插件
提取码:u2gs
2、在Myclispse安装目录\MyEclipse 2017 CI\dropins下创建myBatisgenerator文件夹
3、将插件压缩包中的两个文件夹移动到mybatisgenerator文件夹中
4、启动MyElicpse,选择File-New-Other,出现下图说明插件安装成功
配置
1、创建Java Project工程MyBatisGeneratorDemo,导入mybatis和mysql依赖
2、在src目录下新建配置文件 generatorMapper.xml
/p>
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
connectionURL="jdbc:mysql://localhost:3306/mysql?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf-8" userId="root" password="123456">
targetProject="MyBatisGeneratorDemo/src">
targetProject="MyBatisGeneratorDemo/src">
targetPackage="am.dao" targetProject="MyBatisGeneratorDemo/src">
enableUpdateByExample="true" enableDeleteByExample="true"
enableSelectByExample="true" selectByExampleQueryId="true">
enableUpdateByExample="true" enableDeleteByExample="true"
enableSelectByExample="true" selectByExampleQueryId="true">
需要修改的地方
将MySQL连接驱动的location修改为本地mysql的jar包位置
将context的id修改为项目工程的名称
在数据库连接中设置mysql的驱动类、url、用户名和密码
在实体配置、映射xml配置和Dao接口配置中,在targetPackage中分别设置存放实体类、映射文件、dao接口的包名,并将targetProject改为项目名称/src
在表配置中,输入使用的表名和实体名
完成后,右键运行
控制台显示如下,说明成功。可能遇到的问题
此时,在工程目录下自动生成三个包和相应的代码
在src目录下分别新建mybatis配置文件与数据库配置文件
db.properties,数据库配置文件
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc\:mysql\://localhost\:3306/mysql?useUnicode\=true&characterEncoding\=utf-8&useSSL\=false&serverTimezone\=GMT
jdbc.username=root
jdbc.password=123456
mybatis-config.xml,myBatis配置文件,在mappers中配置映射xml文件位置
/p>
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
使用
创建测试类TestProductMapper.java
package am.dao;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.util.List;
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 org.junit.After;
import org.junit.Before;
import org.junit.Test;
import am.entity.Product;
import am.entity.ProductExample;
import am.entity.ProductExample.Criteria;
public class TestProductMapper {
private SqlSession sqlSession;
private ProductMapper productMapper;
@Before
public void Init() throws IOException {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
sqlSession = sqlSessionFactory.openSession();
productMapper = sqlSession.getMapper(ProductMapper.class);
}
@After
public void close() {
if (sqlSession != null)
sqlSession.close();
}
/*
* 查找所有的产品
*/
@Test
public void testFindAllProducts() {
System.out.println("查找所有的产品");
List list = productMapper.selectByExample(null);
for (Product product : list)
System.out.println(product.toString());
}
/*
* 查找所有名称包含可乐 价格为3的产品
*/
@Test
public void testFindProductByParam() {
System.out.println("查找所有名称包含可乐 价格为3的产品");
ProductExample productExample = new ProductExample();
productExample.createCriteria().andPnameLike("%可乐%").andPriceEqualTo(new BigDecimal(3.0));
List list = productMapper.selectByExample(productExample);
for (Product product : list)
System.out.println(product.toString());
}
}
运行测试