![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mybatis
zengshaotao
大道至简,未来可期
展开
-
iBatis 简介
iBatis 简介: iBatis 是apache 的一个开源项目,一个O/R Mapping 解决方案,iBatis 最大的特点就是小巧,上手很快。如果不需要太多复杂的功能,iBatis 是能够满足你的要求又足够灵活的最简单的解决方案,现在的iBatis 已经改名为Mybatis 了。 官网为:http://www.mybatis.org/ 搭建iBat...原创 2013-04-22 13:05:56 · 102 阅读 · 0 评论 -
多个or查询作为一个整体
都使用过mybatis,都见过这样的标签sql配置:<isNotEmpty property="PROPERTYNAME" prepend="AND "> (T1.PROPERTY_NAME like '%'|| #PROPERTYNAME# ||'%' OR T1.BUILDING_NAME like '%'|| #PROPE...2017-08-16 10:49:42 · 246 阅读 · 0 评论 -
批量插入
ibatis的批量插入和Mybatis的批量插入大体功能类似,但是具体的实现标签不一致,这主要是体现在了dtd的约束不一致:ibatis的批量方式:UpperCaseMap map1 = new UpperCaseMap(); List l = new ArrayList(); for(int i=0;i<3;i++){ ...2017-04-21 15:32:22 · 124 阅读 · 0 评论 -
ibatis工作原理
摘要: iBATIS 通过 SQL Map 将 Java 对象映射成 SQL 语句和将结果集再转化成 Java 对象,与其他 ORM 框架相比,既解决了 Java 对象与输入参数和结果集的映射,又能够让用户方便的手写使用 SQL 语句。本文主要介绍了 iBATIS 框架的体系结构和运行流程,以及 iBATIS 如何完成 SQL 语句的解析与 Java 对象与数据字段映射关系的建立,最后用一个实例...原创 2016-12-13 17:44:20 · 509 阅读 · 0 评论 -
resultMap每一条记录
<select id="listByRoleID" resultMap="MapId" parameterClass="java.lang.String" > <![CDATA[ SELECT DISTINCT ID,LABEL,DESCRIPTION,PAGERESID,ENTRYTYPE,DISPSEQ FROM TWEB_FU...2014-11-13 13:03:31 · 118 阅读 · 0 评论 -
Hibernate,Mybatis优缺点
1.优点 简单: 易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。 实用: 提供了数据映射功能,提供了对底层数据访问的封装(例如ado.net),提供了dao框架,可以使我们更容易的开发和配置我们的dal层。 灵活: 通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更...原创 2014-02-25 22:46:52 · 103 阅读 · 0 评论 -
ibatis动态sql例子
<sql id="sql_count"> select count(*) </sql> <sql id="sql_select"> select * </sql> <sql id="原创 2014-07-03 16:31:33 · 156 阅读 · 0 评论 -
数据库number字段的转换
开发时,我们经常要和数据库进行交互,可选的开源架构和技术挺多。从参与的几个项目来看,ibatis,或者Mybatis的选择比较多。 这里需要提醒的一个问题是访问数据库的结果集的接收。 如:<select id="getUndownFiles" parameterClass="map" resultClass="java.util.HashMap">配置了Has...2014-07-03 14:20:24 · 712 阅读 · 0 评论 -
ibatis,dynamic sql
ibatis 2的主打开发,标签使用时,需要注意,比如在动态拼接sql的时候如下的语句:<isNotEmpty property="userId"> <![CDATA[ userId = #userId:varchar# ]]> </isNotEmpty>userId ==“” 或者userId==null,都不会拼接,但...2014-06-07 23:18:31 · 82 阅读 · 0 评论 -
json格式依赖包
json是比较简单的数据交换格式,一般的,我们都会用到类似如下的代码: JSONArray.fromObject(users).toString() 这个时候一般需要导入的class:import net.sf.json.JSONArray; 需要的包也是挺多的,不仅仅是看着很明显的json-lib....jar, 还包括该jar依赖的其他的jar。所以当项目中需...2014-06-07 22:26:18 · 674 阅读 · 0 评论 -
ibatis中使用like模糊查询
无效的方法:select * from table1 where name like '%#name#%' 两种有效的方法:1) 使用$代替#。此种方法就是去掉了类型检查,使用字符串连接,不过可能会有sql注入风险。select * from table1 where name like '%$name$%' 2) 使用连接符。不过不同的数据库中方式不...原创 2014-06-04 00:24:12 · 233 阅读 · 0 评论 -
ibatis之动态sql
很多人一定很熟悉jstl吧,解决了jsp页面很多的if--else脚本块难以阅读的问题。对于程序代码的sql拼接,与此类似。 直接使用JDBC一个非常普遍的问题就是动态SQL。使用参数值、参数本身和数据列都是动态SQL,通常是非常困难的。典型的解决办法就是用上一堆的IF-ELSE条件语句和一连串的字符串连接。对于这个问题,Ibatis提供了一套标准的相对比较清晰的方法来解决一个问题,这里有个简单...原创 2014-06-02 17:19:18 · 122 阅读 · 0 评论 -
Spring整合Ibatis之SqlMapClientDaoSupport
Spring通过DAO模式,提供了对iBATIS的良好支持。SqlMapClient对象是iBATIS中的主要对象,我们可以通过配置让spring来管理SqlMapClient对象的创建,继而整合iBatis和Spring。与hibernate类似,Spring 提供了SqlMapClientDaoSupport对象,我们的DAO可以继承这个类,通过它所提供的SqlMapClientTemp...原创 2014-06-01 23:04:25 · 791 阅读 · 0 评论 -
mybatis3.05 + spring3.1.0M2
集成版本:mybatis3.05 + spring3.1.0M2使用dbcp作为数据库连接池 1.编写数据访问接口(UserDao.java)package com.mybatis;publicinterface UserDao { publicint countAll();}2.编写数据访问接口映射文件(UserDaoMapper.xml)...原创 2013-07-02 16:25:37 · 87 阅读 · 0 评论 -
Mybatis
目前主流的ORM,无论 Hibernate 还是Apache OJB,都对数据库操作提供了较为完整的封装,提供了从 POJO 到数据库表的全套映射机制。开发人员往往只需关注POJO 到数据库表的映射关系,然后通过 Hibernate或者 OJB 提供的方法完成持久层操作,基本上不需要对 SQL 的熟练掌握。Hibernate/OJB 会根据制定的存储逻辑,自动生成对应的 SQL 并调用 JDB...原创 2012-11-20 13:21:30 · 111 阅读 · 0 评论 -
MyBatis防止SQL注入
SQL注入是一种代码注入技术,用于攻击数据驱动的应用,恶意的SQL语句被插入到执行的实体字段中(例如,为了转储数据库内容给攻击者)。[摘自] SQL injection - WikipediaSQL注入,大家都不陌生,是一种常见的攻击方式。攻击者在界面的表单信息或URL上输入一些奇怪的SQL片段(例如“or ‘1’=’1’”这样的语句),有可能入侵参数检验不足的应用程序。所以,在我...原创 2017-11-14 13:35:44 · 132 阅读 · 0 评论