标签:xdg 手机 sip i2c abi blog dip lsh sky
mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml、po..)
企业实际开发中,常用的逆向工程方式:
由于数据库的表生成java代码。
建议使用java程序方式,不依赖开发工具。
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <!DOCTYPE generatorConfiguration 4 5 PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 6 7 "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 8 9 10 11 <generatorConfiguration> 12 13 <context id="testTables" targetRuntime="MyBatis3"> 14 15 <commentGenerator> 16 17 <!-- 是否去除自动生成的注释 true:是 : false:否 --> 18 19 <property name="suppressAllComments" value="true" /> 20 21 </commentGenerator> 22 23 <!--数据库连接的信息:驱动类、连接地址、用户名、密码 --> 24 25 <jdbcConnection driverClass="com.mysql.jdbc.Driver" 26 27 connectionURL="jdbc:mysql://localhost:3306/mybatis" userId="root" 28 29 password="root"> 30 31 </jdbcConnection> 32 33 <!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver" 34 35 connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg" 36 37 userId="yycg" 38 39 password="yycg"> 40 41 </jdbcConnection> --> 42 43 44 45 <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 46 47 NUMERIC 类型解析为java.math.BigDecimal --> 48 49 <javaTypeResolver> 50 51 <property name="forceBigDecimals" value="false" /> 52 53 </javaTypeResolver> 54 55 56 57 <!-- targetProject:生成PO类的位置 --> 58 59 <javaModelGenerator targetPackage="cn.itcast.ssm.po" 60 61 targetProject=".\src"> 62 63 <!-- enableSubPackages:是否让schema作为包的后缀 --> 64 65 <property name="enableSubPackages" value="false" /> 66 67 <!-- 从数据库返回的值被清理前后的空格 --> 68 69 <property name="trimStrings" value="true" /> 70 71 </javaModelGenerator> 72 73 <!-- targetProject:mapper映射文件生成的位置 --> 74 75 <sqlMapGenerator targetPackage="cn.itcast.ssm.mapper" 76 77 targetProject=".\src"> 78 79 <!-- enableSubPackages:是否让schema作为包的后缀 --> 80 81 <property name="enableSubPackages" value="false" /> 82 83 </sqlMapGenerator> 84 85 <!-- targetPackage:mapper接口生成的位置 --> 86 87 <javaClientGenerator type="XMLMAPPER" 88 89 targetPackage="cn.itcast.ssm.mapper" 90 91 targetProject=".\src"> 92 93 <!-- enableSubPackages:是否让schema作为包的后缀 --> 94 95 <property name="enableSubPackages" value="false" /> 96 97 </javaClientGenerator> 98 99 <!-- 指定数据库表 --> 100 101 <table tableName="items"></table> 102 103 <table tableName="orders"></table> 104 105 <table tableName="orderdetail"></table> 106 107 <table tableName="user"></table> 108 109 110 111 112 113 </context> 114 115 </generatorConfiguration>
生成后的代码:
需要将生成工程中所生成的代码拷贝到自己的工程中。
测试ItemsMapper中的方法
1 //自定义条件查询 2 @Test 3 public void testSelectByExample() { 4 ItemsExample itemsExample = new ItemsExample(); 5 //通过criteria构造查询条件 6 ItemsExample.Criteria criteria = itemsExample.createCriteria(); 7 criteria.andNameEqualTo("笔记本3"); 8 //可能返回多条记录 9 List<Items> list = itemsMapper.selectByExample(itemsExample); 10 11 System.out.println(list); 12 13 } 14 15 //根据主键查询 16 @Test 17 public void testSelectByPrimaryKey() { 18 Items items = itemsMapper.selectByPrimaryKey(1); 19 System.out.println(items); 20 } 21 22 23 //插入 24 @Test 25 public void testInsert() { 26 //构造 items对象 27 Items items = new Items(); 28 items.setName("手机"); 29 items.setPrice(999f); 30 itemsMapper.insert(items); 31 } 32 33 //更新数据 34 @Test 35 public void testUpdateByPrimaryKey() { 36 37 //对所有字段进行更新,需要先查询出来再更新 38 Items items = itemsMapper.selectByPrimaryKey(1); 39 40 items.setName("水杯"); 41 42 itemsMapper.updateByPrimaryKey(items); 43 //如果传入字段不空为才更新,在批量更新中使用此方法,不需要先查询再更新 44 //itemsMapper.updateByPrimaryKeySelective(record); 45 46 }
项目源码:
链接:http://pan.baidu.com/s/1jIHLSHK 密码:irp6
标签:xdg 手机 sip i2c abi blog dip lsh sky
原文地址:http://www.cnblogs.com/kingxiaozi/p/6034093.html