mybatise学习笔记
来源:互联网 发布:可用多多返利源码 编辑:程序博客网 时间:2024/06/05 15:34
http://www.tuicool.com/articles/7nyM7v(MyBatis使用教程(入门级)很详细的教程--非常好的实例)
(MyBatis学习总结)
http://www.cnblogs.com/xdp-gacl/tag/MyBatis%E5%AD%A6%E4%B9%A0%E6%80%BB%E7%BB%93/
http://www.yihaomen.com/article/java/302.htm(mybatis教程)
http://wiki.jikexueyuan.com/project/mybatis-in-action/
http://wiki.jikexueyuan.com/list/java/
http://www.cnblogs.com/dennisit/archive/2013/04/10/3012972.html(Spring + mybatis整合实例应用-->单个表操作是一个好实例)
http://www.cnblogs.com/zengsong-restService/p/3248245.html(eclipse mybatis Generator)
http://www.cnblogs.com/xdp-gacl/p/4264440.html(MyBatis学习总结(五)——实现关联表查询)
http://www.cnblogs.com/xdp-gacl/p/4261895.html(MyBatis学习总结(一)——MyBatis快速入门)
http://www.cnblogs.com/mingyue1818/p/3714162.html(MyBatis传入多个参数的问题)
(解决了我对多参数传递的困惑)一、单个参数:
public List<XXBean> getXXBeanList(String xxCode); <select id="getXXXBeanList" parameterType="java.lang.String" resultType="XXBean"> select t.* from tableName t where t.id= #{id} </select> 其中方法名和ID一致,#{}中的参数名与方法中的参数名一直, 我这里采用的是XXXBean是采用的短名字,select 后的字段列表要和bean中的属性名一致, 如果不一致的可以用 as 来补充。
二、多参数:
public List<XXXBean> getXXXBeanList(String xxId, String xxCode); <select id="getXXXBeanList" resultType="XXBean"> select t.* from tableName where id = #{0} and name = #{1} </select> 由于是多参数那么就不能使用parameterType, 改用#{index}是第几个就用第几个的索引,索引从0开始
三、Map封装多参数:
public List<XXXBean> getXXXBeanList(HashMap map); <select id="getXXXBeanList" parameterType="hashmap" resultType="XXBean"> select 字段... from XXX where id=#{xxId} code = #{xxCode} </select> 其中hashmap是mybatis自己配置好的直接使用就行。map中key的名字是那个就在#{}使用那个,map如何封装就不用了我说了吧。
四、List封装in:
public List<XXXBean> getXXXBeanList(List<String> list); <select id="getXXXBeanList" resultType="XXBean"> select 字段... from XXX where id in <foreach item="item" index="index" collection="list" open="(" separator="," close=")"> #{item} </foreach></select> foreach 最后的效果是select 字段... from XXX where id in ('1','2','3','4')
五、多参数传递之注解方式示:
例子: public AddrInfo getAddrInfo(@Param("corpId")int corpId, @Param("addrId")int addrId); xml配置这样写: <select id="getAddrInfo" resultMap="com.xxx.xxx.AddrInfo"> SELECT * FROM addr__info
where addr_id=#{addrId} and corp_id=#{corpId}</select> 以前在<select>语句中要带parameterType的,现在可以不要这样写。
六、selectList()只能传递一个参数,但实际所需参数既要包含String类型,又要包含List类型时的处理方法:
将参数放入Map,再取出Map中的List遍历。如下:
List<String> list_3 = new ArrayList<String>();
Map<String, Object> map2 = new HashMap<String, Object>();
list.add("1");
list.add("2");
map2.put("list", list); //网址id
map2.put("siteTag", "0");//网址类型
public List<SysWeb> getSysInfo(Map<String, Object> map2) { return getSqlSession().selectList("sysweb.getSysInfo", map2);}
<select id="getSysInfo" parameterType="java.util.Map" resultType="SysWeb"> select t.sysSiteId, t.siteName, t1.mzNum as siteTagNum, t1.mzName as siteTag, t.url, t.iconPath from TD_WEB_SYSSITE t left join TD_MZ_MZDY t1 on t1.mzNum = t.siteTag and t1.mzType = 10 WHERE t.siteTag = #{siteTag } and t.sysSiteId not in <foreach collection="list" item="item" index="index" open="(" close=")" separator=","> #{item} </foreach></select>
http://blog.csdn.net/p793049488/article/details/40422975
自动生成的配置文件详解
3、新建配置文件generatorConfig.xml:
[html] view plain copy
- <?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>
- <!-- 引入配置文件 -->
- <properties resource="generator.properties"/>
- <!-- 指定数据连接驱动jar地址 -->
- <classPathEntry location="${classPath}" />
- <!-- 一个数据库一个context -->
- <context id="infoGuardian" targetRuntime="MyBatis3">
- <!-- 注释 -->
- <commentGenerator >
- <property name="suppressAllComments" value="true"/><!-- 是否取消注释 -->
- <property name="suppressDate" value="true" /> <!-- 是否生成注释代时间戳-->
- </commentGenerator>
- <!-- jdbc连接 -->
- <jdbcConnection driverClass="${jdbc_driver}"
- connectionURL="${jdbc_url}" userId="${jdbc_user}"
- password="${jdbc_password}" />
- <!-- 类型转换 -->
- <javaTypeResolver>
- <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
- <property name="forceBigDecimals" value="false"/>
- </javaTypeResolver>
- <!-- 生成实体类地址 -->
- <javaModelGenerator targetPackage="cn.ffcs.yuntv.domain"
- targetProject="${project}" >
- <!-- 是否在当前路径下新加一层schema,eg:fase路径cn.ffcs.test.domain", true:cn.ffcs.test.domain".[schemaName] -->
- <property name="enableSubPackages" value="false"/>
- <!-- 是否针对string类型的字段在set的时候进行trim调用 -->
- <property name="trimStrings" value="true"/>
- </javaModelGenerator>
- <!-- 生成mapxml文件 -->
- <sqlMapGenerator targetPackage="mybatis"
- targetProject="${resource}" >
- <!-- 是否在当前路径下新加一层schema,eg:fase路径cn.ffcs.test.domain", true:cn.ffcs.test.domain".[schemaName] -->
- <property name="enableSubPackages" value="false" />
- </sqlMapGenerator>
- <!-- 生成mapxml对应client,也就是接口dao -->
- <javaClientGenerator targetPackage="cn.ffcs.yuntv.dao"
- targetProject="${project}" type="XMLMAPPER" >
- <!-- 是否在当前路径下新加一层schema,eg:fase路径cn.ffcs.test.domain", true:cn.ffcs.test.domain".[schemaName] -->
- <property name="enableSubPackages" value="false" />
- </javaClientGenerator>
- <!-- 配置表信息,这里没生成一张表,这里需要改变一次对应表名 -->
- <table schema="icity_yuntv" tableName="T_USER_ADDR"
- domainObjectName="UserAddr" enableCountByExample="false"
- enableDeleteByExample="false" enableSelectByExample="false"
- enableUpdateByExample="false">
- <!-- schema即为数据库名 tableName为对应的数据库表 domainObjectName是要生成的实体类 enable*ByExample
- 是否生成 example类 -->
- <!-- 忽略列,不生成bean 字段
- <ignoreColumn column="FRED" />-->
- <!-- 指定列的java数据类型
- <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />-->
- </table>
- </context>
- </generatorConfiguration>
http://feiyeguohai.iteye.com/blog/1180898/(解决多对多的困惑)
http://www.cnblogs.com/xdpgacl/tag/MyBatis%E5%AD%A6%E4%B9%A0%E6%80%BB%E7%BB%93/
(MyBatis学习总结)
http://www.jb51.net/article/71528.htm(mybatis的动态sql详解(精))
0 0
- mybatise学习笔记
- Mybatise
- spring+mybatise
- Mybatise插件
- mybatise 应用
- mybatise应用
- mybatise框架相关
- SpringMVC+MyBatise开发流程
- mybatise配置文件通配
- mybatise模糊查询拼接语句
- spring和mybatise的整合
- Mybatise示例的employeeMapping.xml
- springmvc +mybatise 框架的搭建步骤
- oracle数据库,mybatise批量插入数据
- mybatise大于等于,小于等于比较运算
- Mybatise与数据库连接的xml配置文件
- mybatise自定义插件或者叫mybatise拦截器,动态修改sql语句
- SpringMVC+Spring3.0+Mybatise+Extjs4.0+Json 包冲突
- Ubuntu14.04 svn 安装 Rabbitvcs
- wkwebview与js的交互
- c++实验4
- Python File & OS
- Runtime.getRuntime().exec(“cat /proc/kmsg”)不成功
- mybatise学习笔记
- jsp面试100问
- 纯JS 输入框 onkeyup 下拉框
- HttpUrlConnection与HttpClient的认识(二)-请求头信息的问题
- 项目中遇到的问题
- MySQL 修改root密码
- ansible安装
- Linux使用curl查看请求响应时间
- Java连接oracle数据库