MyBatis Generator:代码生成器
生活随笔
收集整理的這篇文章主要介紹了
MyBatis Generator:代码生成器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
一、簡介
二、使用步驟
1.編寫MGB的配置文件
2.運行代碼生成器代碼
3.簡單測試
4.QBC風格的帶條件查詢測試
一、簡介
MyBatis Generator:
-
簡稱MBG,是一個專門為MyBatis框架使用者定制的代碼生成器,可以快速的根據表生成對應的映射文件,接口以及bean類。支持基本的增刪改查,以及QBC風格的條件查詢。但是表連接、存儲過程等這些復雜的sql定義需要我們手工編寫
-
官方文檔地址:
http://www.mybatis.org/generator/
-
官方工程地址
https://github.com/mybatis/generator/releases
二、使用步驟
1.編寫MGB的配置文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> ? <generatorConfiguration><!--targetRuntime="MyBatis3Simple":生成簡單版的CRUDMyBatis3:豪華版--><context id="DB2Tables" targetRuntime="MyBatis3"><!-- 指定如何連接到數據庫--><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/mybatis"userId="root"password="123456"></jdbcConnection> ?<javaTypeResolver ><property name="forceBigDecimals" value="false" /></javaTypeResolver> ?<!-- javaModelGenerator:指定javaBean的生成策略targetPackage="test.model":目標包名targetProject="\MBGTestProject\src":目標工程--><javaModelGenerator targetPackage="com.itheima.domain" targetProject=".\src"><property name="enableSubPackages" value="true" /><property name="trimStrings" value="true" /></javaModelGenerator> ?<!-- sqlMapGenerator:sql映射生成策略: --><sqlMapGenerator targetPackage="com.itheima.dao" ?targetProject=".\src"><property name="enableSubPackages" value="true" /></sqlMapGenerator> ?<!-- javaClientGenerator:指定mapper接口所在的位置 --><javaClientGenerator type="XMLMAPPER" targetPackage="com.itheima.dao" ?targetProject=".\src"><property name="enableSubPackages" value="true" /></javaClientGenerator> ?<!-- 指定要逆向分析哪些表:根據表要創建javaBean --><table schema="DB2ADMIN" tableName="tb1_employee" domainObjectName="Employee" ></table><table schema="DB2ADMIN" tableName="department" domainObjectName="Department" ></table></context> </generatorConfiguration>2.運行代碼生成器代碼
//如果再次生成,建議將之前生成的數據刪除,避免xml向后追加內容問題的出現 List<String> warnings = new ArrayList<String>();boolean overwrite = true;File configFile = new File("generatorConfig.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);3.簡單測試
private static SqlSessionFactory getSqlSessionFactory() throws IOException {//1.根據xml配置文件創建一個SqlSessionFactory對象String resource = "mybatis-config.xml";InputStream resourceAsStream = Resources.getResourceAsStream(resource);return new SqlSessionFactoryBuilder().build(resourceAsStream);}//查詢id為1的員工@Testpublic void test01() throws IOException {SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();SqlSession sqlSession = sqlSessionFactory.openSession(true);try {EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class);Employee employee = employeeMapper.selectByPrimaryKey(1);System.out.println(employee);}finally {sqlSession.close();}}4.QBC風格的帶條件查詢測試
//查詢名字帶c或者id為1的員工@Testpublic void test02() throws Exception {SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();SqlSession sqlSession = sqlSessionFactory.openSession(true);try {EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class);//xxxExample就是封裝查詢條件的EmployeeExample employeeExample = new EmployeeExample();//創建一個Criteria,用來拼裝查詢條件EmployeeExample.Criteria criteria = employeeExample.createCriteria();//查詢名字帶c的criteria.andNameLike("%c%");EmployeeExample.Criteria criteria1 = employeeExample.createCriteria();//或者id為1的criteria1.andIdEqualTo(1);//兩個條件用or相連employeeExample.or(criteria1);List<Employee> employees = employeeMapper.selectByExample(employeeExample);for (Employee employee : employees) {System.out.println(employee);}} finally {sqlSession.close();}?
總結
以上是生活随笔為你收集整理的MyBatis Generator:代码生成器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MyBatis映射文件(二)
- 下一篇: MyBatis-动态SQL