使用Mybatis Generator包自动生成Mybatis相关内容
1.环境 mybatits+oracle
准备工作:
ojdbc5.jar
mybatis-generator-core-1.3.1.jar
mybatis-3.1.0-SNAPSHOT.jar
2.新建一web工程
src目录新建包com.sm.dao/model
文件:generator.xml
<?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> <classPathEntry location="E:\myspace\sm\WebContent\WEB-INF\lib\ojdbc5.jar" /> <context id="DB2Tables" targetRuntime="MyBatis3"> <commentGenerator> <property name="suppressDate" value="true" /> </commentGenerator> <jdbcConnection driveruserId="hr" password="123456"> </jdbcConnection> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <javaModelGenerator targetPackage="com.sm.model" targetProject="../src"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <sqlMapGenerator targetPackage="com.sm.model" targetProject="../src"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <javaClientGenerator type="XMLMAPPER" targetPackage="com.sm.dao" targetProject="../src"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <table tableName="t_user" domainObjectName="User"> </table> <table tableName="t_rolemap" domainObjectName="Rolemap"> </table> <table tableName="t_role" domainObjectName="Role"> </table> <table tableName="t_extrafield" domainObjectName="Extrafield"> </table> <table tableName="regions" domainObjectName="Regions"> </table> <table tableName="manager" domainObjectName="Manager"> </table> <table tableName="locations" domainObjectName="Locations"> </table> <table tableName="job_history" domainObjectName="Job_history"> </table> <table tableName="jobs" domainObjectName="Jobs"> </table> <table tableName="employees" domainObjectName="Employees"> </table> <table tableName="departments" domainObjectName="Departments"> </table> <table tableName="countries" domainObjectName="Countries"> </table> </context></generatorConfiguration>
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:ORCL" /> <property name="username" value="hr" /> <property name="password" value="123456" /> </dataSource> </environment> </environments> <mappers> <mapper resource="com/sm/model/UserMapper.xml" /> <mapper resource="com/sm/model/ManagerMapper.xml" /> </mappers> </configuration>
java -jar mybatis-generator-core-1.3.0.jar -configfile ../src/main/resource/config.xml -overwrite
E:\myspace\sm\src>java -jar E:\myspace\sm\WebContent\WEB-INF\lib\mybatis-generator-core-1.3.1.jar -configfile generator.xml -overwrite
package com.sm.test;/** * @author rabbit <hackpor@hp009.com> * @version * @since Ver 1.1 * @Date Feb 8, 2012 10:05:26 AM */public class Test {public static void main(String[] args) throws Exception {String resource = "MapperConfig.xml";Reader reader = Resources.getResourceAsReader(resource);SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader);SqlSession sqlSession = sqlMapper.openSession();UserExample user = new UserExample();user.or().andAccountIsNotNull();ManagerExample managerExa = new ManagerExample();managerExa.or().andAgeIsNotNull();try {UserMapper uMapper = sqlSession.getMapper(UserMapper.class);List<User> allRecords = uMapper.selectByExample(user);for (User s : allRecords) {System.out.println(s.getAccount() + "," + s.getPassword() + ","+ s.getStatus() + "," + s.getRegtime());}ManagerMapper mMapper = sqlSession.getMapper(ManagerMapper.class);List<Manager> managerRec = mMapper.selectByExample(managerExa);for (Manager s : managerRec) {System.out.println(s.getUserid().toString() + ","+ s.getUsername() + "," + s.getAge());}} finally {sqlSession.close();}}}