本文主要是介绍Mybaites初步认知,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Mybaties中映射语句是最强大的地方。ResultMap是其中最重要,最强大的元素。
一个Mybaties以一个SqlSessionFactory实例为中心,通过配置类SqlSessionFactoryBuilder创建SqlSessionFactory.
SqlSessionFactory作用域为application,在整个应用程序中始终存在,获取sqlsession实例。(SqlSession包含针对DB执行的语句的每一个方法)
XML中包括:
connection 连接数据库
TransactionManager 决定事务作用域和操作
连接池
<mappers> 包含一系列SQL语句映射定义的xml文件。
Mapper 的XML配置文件:Configuration
---properties属性
---setting 设置
---typeAlies 类型别名
--- typeHanlders 类型句柄
---ObjectFactory 对象工厂
---plugins 插件
---environment 环境
---Mapper映射器
Mybaties有两个事务管理器
JDBC 该类型全部用JDBC的提交和回滚功能,依靠数据源来管理事务。
MANAGED 什么都不做,让窗口管理事务生命周期(spring或Javaee服务器)
JDBC:
String selectPerson="SELECT * FROM PERSON WHERE ID=?"PreparedStatement ps = Conn.prepareStatement(selectPerson);ps.setInt(1,id);
Mybaties:
<span style="font-size:18px;"><select id="selectPerson" parameterType="int" resultType="hasnmap">
SELECT *FROM PERSON WHERE ID=#{id}//改参数标识为#{id}
</select>//这条语句叫select Person 有一个int或Integer,返回一个数据表列明和key的HashMap结果集</span>
插入语句
<span style="font-size:18px;"><span style="white-space:pre"> </span><insert id="insertAuthor" parameterType="domain.blog.Author">
<span style="white-space:pre"> </span>insert into Author(id,username,password,email,bio) values(#{id},#{username},#{password},#{email},#{bio})
<span style="white-space:pre"> </span></insert>
</span>
修改语句
<span style="font-size:18px;"><update id="updateAuthor" parameterType="domain.blog.Author">update Author set username=#{username},password=#{password},email=#{email},bio=#{bio} where id=#{id}</update></span>
删除语句
<delete id="deleteAuthor" parameterType="int">delete from Author where id=#{id}
</delete>
<sql id="userColumns">id,username,password</sql>
复用
<select id="selectUsers" parameterType="int" resultType="hashMap">select<include refid="userColumns"/>from some_table where id=#{id}</select>
TypeAliases类型别名
<!--In Config Xml file>
<typeAlies type="com.someapp.model.User" alias="User"/>
<!--In Sql Mapping Xml file-->
<select id="selectUsers" parameterType="int" resultType="User">select id,username,hashedPassword from some_table where id=#{id}</select>
这篇关于Mybaites初步认知的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!