ehcache-core-2.6.8.jar
log4j.jar
mybatis-3.4.1.jar
mybatis-ehcache-1.0.3.jar
mybatis-generator-core-1.3.2.jar
mysql-connector-java-5.1.37-bin.jar
ojdbc6.jar
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.2.jar
|
<!-- <context>元素用于指定生成一组对象的环境。子元素用于指定要连接的数据库,要生成的对象的类型以及要进行自检的表。 --> <!-- targetRuntime="MyBatis3Simple":生成简单版的CRUD --> <!-- targetRuntime="MyBatis3":生成复杂版的CRUD --> <!-- id:此上下文的唯一标识符。该值将在某些错误消息中使用。 --> <context id="DB2Tables" targetRuntime="MyBatis3"> </context>
<!-- jdbcConnection:指定如何连接到目标数据库 --> <!-- MyBatis Generator使用JDBC的DatabaseMetaData类来发现您在配置中指定的表的属性。--> <!-- 每个<context>元素都需要一个<connectionFactory>或<jdbcConnection >元素。 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/mybatis?allowMultiQueries=true" userId="root" password="root123"> </jdbcConnection>
<javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver>
<!-- javaModelGenerator:指定javaBean的生成策略 --> <!-- targetProject:生成目标包名 --> <!-- targetProject:目标工程 --> <!-- http://mybatis.org/generator/configreference/javaModelGenerator.html --> <javaModelGenerator targetPackage="com.atguigu.mybatis.bean" targetProject=".\src"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator>
<!-- sqlMapGenerator:sql映射生成策略; --> <sqlMapGenerator targetPackage="com.atguigu.mybatis.dao" targetProject=".\conf"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator>
<!-- javaClientGenerator:指定mapper接口所在的位置 --> <!-- http://mybatis.org/generator/configreference/javaClientGenerator.html --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.atguigu.mybatis.dao" targetProject=".\src"> <property name="enableSubPackages" value="true" /> </javaClientGenerator>
<!-- 指定要逆向分析哪些表:根据表要创建javaBean --> <!-- http://mybatis.org/generator/configreference/table.html --> <table tableName="tbl_dept" domainObjectName="Department"></table> <table tableName="tbl_employee" domainObjectName="Employee"></table>
@Test public void testMbg() throws Exception { List<String> warnings = new ArrayList<String>(); boolean overwrite = true; File configFile = new File("mbg.xml"); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(configFile); DefaultShellCallback callback = new DefaultShellCallback(overwrite); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null); }
@Test public void testSimple() throws IOException { SqlSessionFactory sqlSessionFactory = getSqlSessionFactory(); SqlSession openSession = sqlSessionFactory.openSession(); try { EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class); List<Employee> list = mapper.selectAll(); for (Employee employee : list) { System.out.println(employee.getId()); } }finally { openSession.close(); } }
@Test public void testMyBatis3() throws IOException{ SqlSessionFactory sqlSessionFactory = getSqlSessionFactory(); SqlSession openSession = sqlSessionFactory.openSession(); try{ EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class); //1.查询所有ID List<Employee> emps = mapper.selectByExample(null); // for(Employee employee:emps) { // System.out.println(employee.getId()); // } //2.查询查询员工名字中有e字母的和员工性别是1的 封装员工查询条件的example EmployeeExample example = new EmployeeExample(); //创建一个Criteria,这个Criteria就是拼装查询条件; Criteria criteria = example.createCriteria(); criteria.andLastNameLike("%e%"); criteria.andGenderEqualTo("1"); Criteria criteria2 = example.createCriteria(); criteria2.andEmailLike("%e"); example.or(criteria2); List<Employee> list = mapper.selectByExample(example); for(Employee employee:list) { System.out.println(employee.getId()); } }finally{ openSession.close(); } }
package com.atguigu.mybatis.test; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; 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.jupiter.api.Test; import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.internal.DefaultShellCallback; import com.atguigu.mybatis.bean.Employee; import com.atguigu.mybatis.bean.EmployeeExample; import com.atguigu.mybatis.bean.EmployeeExample.Criteria; import com.atguigu.mybatis.dao.EmployeeMapper; class MyBatisTest { public SqlSessionFactory getSqlSessionFactory() throws IOException { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); return new SqlSessionFactoryBuilder().build(inputStream); } @Test public void testMbg() throws Exception { List<String> warnings = new ArrayList<String>(); boolean overwrite = true; File configFile = new File("mbg.xml"); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(configFile); DefaultShellCallback callback = new DefaultShellCallback(overwrite); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null); } // @Test // public void testSimple() throws IOException { // SqlSessionFactory sqlSessionFactory = getSqlSessionFactory(); // SqlSession openSession = sqlSessionFactory.openSession(); // try { // EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class); // List<Employee> list = mapper.selectAll(); // for (Employee employee : list) { // System.out.println(employee.getId()); // } // }finally { // openSession.close(); // } // } @Test public void testMyBatis3() throws IOException{ SqlSessionFactory sqlSessionFactory = getSqlSessionFactory(); SqlSession openSession = sqlSessionFactory.openSession(); try{ EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class); //1.查询所有ID List<Employee> emps = mapper.selectByExample(null); // for(Employee employee:emps) { // System.out.println(employee.getId()); // } //2.查询查询员工名字中有e字母的和员工性别是1的 封装员工查询条件的example EmployeeExample example = new EmployeeExample(); //创建一个Criteria,这个Criteria就是拼装查询条件; Criteria criteria = example.createCriteria(); criteria.andLastNameLike("%e%"); criteria.andGenderEqualTo("1"); Criteria criteria2 = example.createCriteria(); criteria2.andEmailLike("%e"); example.or(criteria2); List<Employee> list = mapper.selectByExample(example); for(Employee employee:list) { System.out.println(employee.getId()); } }finally{ openSession.close(); } } }
原文:https://www.cnblogs.com/CSAH/p/13152416.html