Mybatis上路_05-使用命令行自动生成
2013-04-24 22:43
597 查看
1.数据准备:
mysql5.5 。1)建库:
CREATE DATABASE DB_MYBATIS CHAR SET UTF8; USE DB_MYBATIS;
2)建表:
CREATE TABLE TB_GENERATOR( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(60) , notes VARCHAR(200) );
3)预设数据:
INSERT INTO TB_GENERATOR VALUES (1, "eminem1", "notes1"); INSERT INTO TB_GENERATOR VALUES (2, "eminem2", "notes2");
2.编写Generator执行配置文件:
generatorConfigation.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="mysql-connector-java-5.1.22-bin.jar" /> <!-- 环境配置 ************************************************** id="自定义的配置名称" targetRuntime="MyBatis版本" --> <context id="MySqlTables" targetRuntime="MyBatis3" > <!-- 数据库 =============================================== driverClass="驱动" connectionURL="数据库url" userId="用户" password="密码" --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/db_mybatis" userId="root" password="root"> </jdbcConnection> <!-- Java数据类型分离器,数据类型转换 ===================== property 属性 name="强迫双精度" value="不" --> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- Java模型生成器 ======================================= targetPackage="生成文件的目标路径" targetProject="已存在的项目包" enableSubPackages-可以省略对应约束名,true-是的,可以省略tb_generator trimString-验证字符串,true-是的 --> <javaModelGenerator targetPackage="test.model" targetProject="\cn\cvu"> <property name="enableSubPackages" value="false" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- sql映射文件生成器 ======================================= targetPackage="生成文件的目标路径" targetProject="已存在的项目包" enableSubPackages-可以省略对应约束名,true-是的,可以省略tb_generator --> <sqlMapGenerator targetPackage="test.xml" targetProject="\cn\cvu"> <property name="enableSubPackages" value="false" /> </sqlMapGenerator> <!-- java委托对象DAO生成器,接口 ============================= type="" targetPackage="生成文件的目标路径" targetProject="已存在的项目包" enableSubPackages-可以省略对应约束名,true-是的,可以省略tb_generator --> <javaClientGenerator type="XMLMAPPER" targetPackage="test.dao" targetProject="\cn\cvu"> <property name="enableSubPackages" value="false" /> </javaClientGenerator> <!-- 表单,已存在,根据此表生成其它文件 ======================= tableName="已有的表单名称" domainObjetctName="对应生成的文件名前缀" --> <table tableName="tb_generator" domainObjectName="Eminem"> <!-- useActualColumnNames-使用真实列名 , true-嗯。如果false,则由columnOverride节点控制 --> <property name="useActualColumnNames" value="true" /> <!-- 标识列 column="列名" sqlStatement="某种数据库语言" identity="作为主键" --> <generatedKey column="id" sqlStatement="MySql" identity="true" /> <!-- 覆盖项,当上面的property name="useActualColumnNames" value="true"时。 column="被覆盖值的列名" property="用来覆盖的对应的java类的属性" --> <columnOverride column="name" property="generName" /> </table> </context> </generatorConfiguration>
3.搭建执行环境:
1)创建项目包:
2)准备文件:
4.执行命令行语句:
C:\> java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfigation.xml如果增加“ -overwrite ”参数会覆盖原有文件。事实上原有文件会被重命名。
5.查看生成的文件:
6.查看文件内容:
在MyEclipse中新建空web项目,将“cn”包放入“src”内。1) cn/cvu/dao/EminemMapper.java :
(1)修改自动生成的包路径。如果没有注解类包,可以注释图中第4行代码。(2)然后将图中两行代码中的注解删除。
2)cn/cvu/model/Eminem.java :
修改包路径。3) cn/cvu/model/EminemExample.java :
修改包路径。4)cn/cvu/xml/EminemMapper.xml :
修改映射文件路径:7.测试,使用生成的文件查询:
1)导入MyBatis的jar包:
mybatis-3.2.2.jarmybatis-generator-core-1.3.2.jar
mysql-connector-java-5.1.22-bin.jar
2)创建MyBatis的xml配置文件:
上面我们注释掉了自动生成的注解代码,在src新建一个xml配置文件,mybatisConfigation.xml:
<?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="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://127.0.0.1:3306/db_mybatis" /> <property name="username" value="root" /> <property name="password" value="root" /> </dataSource> </environment> </environments> <mappers> <!-- 引入MBG生成器创建的映射文件 --> <mapper resource="cn/cvu/test/xml/EminemMapper.xml" /> </mappers> </configuration>
3)Java测试代码:
创建测试类cn.cvu.test.dotest.TestGenerateWithXML :package cn.cvu.test.dotest; import java.io.Reader; import java.util.List; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Test; import cn.cvu.test.dao.EminemMapper; import cn.cvu.test.model.Eminem; import cn.cvu.test.model.EminemExample; import cn.cvu.test.model.EminemExample.Criteria; public class TestGenerateWithXML { @Test public void testQuery() throws Exception { // 创建SQL会话: Reader reader = Resources.getResourceAsReader("mybatisConfigation.xml"); SqlSession session = new SqlSessionFactoryBuilder().build(reader).openSession(); // 创建查询实例: EminemExample eminemExample = new EminemExample(); // 获取映射实体: EminemMapper mapper = session.getMapper(EminemMapper.class); // 利用实体通过实例查询全部条目 List<Eminem> eminems = mapper.selectByExample(eminemExample); System.out.println("ID \t\t name \t\t notes \n"); for (Eminem eminem : eminems) { System.out.println(eminem.getId()+ "\t\t"+eminem.getGenerName()+ "\t\t"+eminem.getNotes()); } session.close(); } }
- end
相关文章推荐
- Mybatis上路_05-使用命令行自动生成【转】
- Mybatis上路_05-使用命令行自动生成
- Mybatis上路_06-使用Java自动生成
- Mybatis Generator Configuration Eclipse自动生成代码工具使用及实现基本crud
- 在IDEA中使用MyBatis Generator自动生成代码
- mybatis-generator自动生成代码插件使用详解 ecilpse
- 使用Mybatis-Generator自动生成entity实体、dao接口以及mapper映射文件
- 使用Eclipse的Generator MyBatis/iBatis Artifacts插件自动生成代码,与spring集成
- 使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件(转)
- 使用generator自动生成mybatis model、mapper.xml、mapper等(转)
- 使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件(转)
- MyBatis使用Generator自动生成代码
- MyBatis使用Generator自动生成代码
- springboot使用generator-mybatis插件自动生成mybatis文件
- 使用Maven 插件Mybatis Generator自动生成Mybatis数据映射代码
- 使用mybatis自动生成Dao,Mapper.xml,Entity
- Intellij IDEA 中使用 MyBatis-generator 自动生成 MyBatis 代码
- 使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件
- mybatis-generator自动生成Mapper以及其他生成类的使用
- 使用Mybatis-Generator命令提示符方式自动生成Dao、Model、Mapping相关文件