Mybaites初步认知

2 篇文章 0 订阅
2 篇文章 0 订阅

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 定义一个可复用的语句块

	<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>










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值