mybaits二十八:逆向工程
生活随笔
收集整理的這篇文章主要介紹了
mybaits二十八:逆向工程
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
mybatis generator
? ?簡(jiǎn)稱MBG,是一個(gè)專門(mén)為mybatis框架使用者定制的代碼生成器.可以快速的根據(jù)表生成對(duì)應(yīng)的映射文件,接口以及bean類。支持基本的增刪改查,以及QBC風(fēng)格的條件查詢。但是表連接,存儲(chǔ)過(guò)程等這些復(fù)雜的sql定義需要我們手工編寫(xiě)。
?
逆向工程配置文件mbg.xml
<?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><context id="DB2Tables" targetRuntime="MyBatis3"><!-- 指定如何連接到目標(biāo)數(shù)據(jù)庫(kù) --><jdbcConnection driverClass="oracle.jdbc.OracleDriver"connectionURL="jdbc:oracle:thin:@localhost:1521:orcl"userId="scott"password="123456"></jdbcConnection><javaTypeResolver ><property name="forceBigDecimals" value="false" /></javaTypeResolver><!-- javaModelGenerator:指定javaBean的生成策略 targetPackage=""目標(biāo)包名targetProject=""目標(biāo)工程 --><javaModelGenerator targetPackage="com.atChina.bean" targetProject=".\src"><property name="enableSubPackages" value="true" /><property name="trimStrings" value="true" /></javaModelGenerator><!-- sqlMapGenerator:sql映射生成策略 --><sqlMapGenerator targetPackage="com.atChina.dao" targetProject=".\conf"><property name="enableSubPackages" value="true" /></sqlMapGenerator><!-- javaClientGenerator:指定mapper接口所在的位置 --><javaClientGenerator type="XMLMAPPER" targetPackage="com.atChina.dao" targetProject=".\src"><property name="enableSubPackages" value="true" /></javaClientGenerator><table tableName="EMPTEST" domainObjectName="Employee"></table><table tableName="DEPTTEST" domainObjectName="Department"></table></context> </generatorConfiguration>運(yùn)行逆向生成器生成工程
? ? ? 運(yùn)行逆向工程,有很多種方式,這里是根據(jù)上面配置的xml文件來(lái)運(yùn)行逆向生成器生成工程
@Testpublic 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);}測(cè)試:
? ?
@Testpublic void testMybatis3() throws IOException, ParseException{String resource = "mybatis-config.xml";InputStream ins = Resources.getResourceAsStream(resource);SqlSessionFactory sf = new SqlSessionFactoryBuilder().build(ins);SqlSession openSession = sf.openSession();try{EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);EmployeeExample example = new EmployeeExample();Criteria criteria = example.createCriteria();criteria.andEmpnoLessThan((short)7499);Criteria criteria2 = example.createCriteria();criteria2.andJobLike("%ER%");example.or(criteria2);List<Employee> emps = mapper.selectByExample(example);for(Employee em : emps){System.out.println(em);}}finally{openSession.close();}}?
總結(jié)
以上是生活随笔為你收集整理的mybaits二十八:逆向工程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mybaits二十七:spring, s
- 下一篇: mybaits二十九:mybatis工作