JAVA学习总结三十二
2016-08-07 16:38
197 查看
mybatis
mybatis简介
mybatis是一种持久层框架,也属于ORM映射。前身是ibatis。相比于hibernate,hibernate为全动自动化,配置文件书写之后不需要书写SQL语句,但欠缺灵活,很多时候需要优化
mybatis为半自动化,需要自己写SQL语句,需要自己定义映射。增加了程序员的一些操作,但带来了设计上的灵活,并且也支持hebernate的一些特性,如延迟加载,缓存,映射等。
对数据库的兼容性比hibernate差。移植性不好,但可编写灵活和高性能的SQL语句
mybatis组成
核心对象:SqlSessionFactory SqlSession配置文件:mybatis.cfg.xml相当于hibernate的hibernate.cfg.xml
多个类配置文件:user.xml相当于hibernate的映射类文件
支持注解配置
mybatis的配置
<dataSource type="POOLED"> <property name="driver" value="org.gjt.mm.mysql.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/test?characterEncoding=utf-8&allowMultiQueries=true"/> <property name="username" value="root"/> <property name="password" value="851117"/> </dataSource> 其中设置URL时,加上allowMultiQueries=true表示允许一个语句块中添加多条SQL语句
mybatis.xml命名空间
设置方法:在orm文件根目录下加入
<mapper namespace="user">设置命名空间
作用:
更好地分类SQL语句块,更好维护
防治SQL语句块重名
调用:
在设置命名空间后,在响应的程序调用中,方可以使用“命名空间.语句块名”进行调用响应的sql语句。
#和$符号使用上的区别
#在生成SQL时,对于字符类型参数,会拼装引号$在生成SQL时,不会拼装引号,可用于order by之类的参数拼装
<select id="findByName" resultMap="userMap"> select * from t_user where u_userName like '%${userName}%' </select> List list = session.selectList("user.findByName",map);
CDATA标签
CDATA是不被解析器解析的文本。文本内的标签不会被当做标记,实体不会被展开。语法:
<![CDATA[..内容..]]>
相关文章推荐
- 了解Java学习过程---查了N多别人的经验总结
- java框架学习总结
- JAVA学习总结之JAVA的安全性_数组(未完待续)
- java学习总结-序
- Java 学习总结(可能是你从来没有考虑过的问题)
- 结合本人学习,总结一些C#和JAVA的不同这处
- java Date学习总结(转自javaEye)
- java学习基础篇之WEB开发中常用Jsp/Bean相关技术总结(转)
- Java 正则表达式学习总结和一些小例子
- JAVA基础学习总结---原码、补码、反码以及基本数据类型
- Java线程学习和总结
- 关于pl/sql调用java的学习总结(附代码)
- Java线程学习和总结
- JAVA学习总结之Random类
- java学习总结-抽象类2
- java5的学习总结
- Java线程学习和总结
- Java学习总结
- 了解Java学习过程的经验总结
- Java与Flash的结合时候数据交换的一些学习总结