码迷,mamicode.com
首页 > 其他好文 > 详细

mybatis generator协助ssm开发心得总结

时间:2018-08-15 20:36:17      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:tar   .sql   for   nbsp   mod   client   select   javac   from   

一.配置

mybatis generator用于自动生成相关表所对应的java文件,包括:javabean,dao接口,映射文件,如下所示:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE generatorConfiguration
 3   PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
 4   "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
 5 
 6 <generatorConfiguration>
 7 
 8   <context id="DB2Tables" targetRuntime="MyBatis3">
 9    <!-- 不生成注释 -->
10    <commentGenerator>
11       <property name="suppressAllComments" value="true" />
12    </commentGenerator>
13    <!-- 配置数据库连接信息 -->
14     <jdbcConnection 
15        driverClass="com.mysql.jdbc.Driver"
16         connectionURL="jdbc:mysql://localhost:3306/******"
17         userId="******"
18         password="******">
19     </jdbcConnection>
20 
21     <javaTypeResolver >
22       <property name="forceBigDecimals" value="false" />
23     </javaTypeResolver>
24 
25    <!-- 指定javabean生成的位置 -->
26     <javaModelGenerator 
27        targetPackage="com.cnblogs.xie.bean"
28        targetProject=".\src\main\java">
29       <property name="enableSubPackages" value="true" />
30       <property name="trimStrings" value="true" />
31     </javaModelGenerator>
32 
33    <!-- 指定sql映射文件生成的位置 -->
34     <sqlMapGenerator 
35        targetPackage="mapper"  
36        targetProject=".\src\main\resources">
37       <property name="enableSubPackages" value="true" />
38     </sqlMapGenerator>
39 
40    <!-- 指定dao接口生成的位置,mapper接口 -->
41     <javaClientGenerator type="XMLMAPPER" 
42        targetPackage="com.cnblogs.xie.dao"
43        targetProject=".\src\main\java">
44       <property name="enableSubPackages" value="true" />
45     </javaClientGenerator>
46 
47    <!-- 指定每个表的生成策略 -->
48     <table tableName="students" domainObjectName="Student"/>
49   </context>
50 </generatorConfiguration>

其中tableName为表名,domainObjectName为javabean类名。

二:使用

1.试例:

可以通过Service类调用其中方法,如下:

public List<Loophole> getAll(){
    StudentExample example = new StudentExample();
    List<Student> list = studentMapper.selectByExample(example);
    return list;
}

 以上代码作用为查询students表中的所有信息,与以下sql作用相同:

select * from students;

2.XXXExample类:

如上例中的StudentExample类,它实例化的对象example负责对sql添加各种限制条件

(1)example.isDistinct();

select distinct * from students;

(2)example.setOrderByClause("stu_id desc");

select * from student order by stu_id desc;

 

3.sql中的where子句:

sql中的where子句又该如何添加呢?如下所示:

 StudentExample example = new example();
 StudentExample.Criteria criteria = studentExample.createCriteria();
 criteria.andStuAgeEqualTo(20);
 List<Student> students = studnetMapper.selectByExample(example);

 它的作用等同于:

select * from students where stu_age = 20

 criteria还有很多方法,如下:

andXXXEqualTo(xx)
      Between(xx,xx)
      In(List<xx>)
      GreaterThan(xx)
      LessThan(xx)
      Like(xx)
      IsNull()
      IsNotNull()
......

 4.sql中的or

StudentExample example = new example();
 example.or().andStuIdEqualTo(xx)
 example.or().andStuAgeBetween(aa,bb);
 List<Student> students = studnetMapper.selectByExample(example);

 

它的作用等同于:

select * from student where stu_id = xx or stu_age between aa and bb

mybatis generator协助ssm开发心得总结

标签:tar   .sql   for   nbsp   mod   client   select   javac   from   

原文地址:https://www.cnblogs.com/xiehuazhen/p/9483343.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!