第一天学习mybaits

1.关于JDBC编程步骤:
a.加载数据库驱动
b.创建并获取数据库的连接
c.创建jdbc statement对象
d.写入sql
e.通过statement执行 获取返回结果
f.对sql执行的结果进行处理
e.释放资源

2.JDBC的问题
a.数据库创建,连接 释放,非常的频繁,造成资源的浪费, 用数据库链接池可解决此问题。
b.sql语句在代码中编码,造成代码不利于维护,实际应用中的sql变化可能较大,sql变动可能需要修改java代码
c.使用preparedStatement 占有符号穿参数存在硬编码的问题, 因为sql语句的where条件不一定,可能多也可能少,修改sql还要修改代码,系统不易维护。
d.对结果集解析存在硬编码,sql变化导致解析代码变化,系统不易维护。

3.mybaits架构
Mybatis 架构.xmind
SqlConfig.xml : mybatis全局配置文件,配置mybatis的运行环境
mapper.xml : sql的映射文件,文件中配置操作数据库的sql语句(需要在sqlConfig.xml中配置)

SqlSessionFactory:通过mybatis配置信息构造
SqlSession : 通过SqlSessionFactory打开
Executor: 是mybatis底层自定义的执行接口, Executor接口有两个实现,一个是基本执行器、一个是缓存执行器。
Mapped Statement:也是mybatis底层封装对象,包装了mybatis的配置信息,以及sql的映射。
Mapped Statement对sql执行输入参数进行定义,相同也对输出的结构进行定义。


sqlconfig.xml在pdf中可以找到
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
user.xml同样在pdf中可以找到
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.mybatis.example.BlogMapper">
<select id="selectBlog" parameterType="int" resultType="Blog">
select * from Blog where id = #{id}
</select>
</mapper>
namespace: 命名空间,用于隔离sql语句
parameterType :定义输入到sql中的映射类型,#{id}表示使用preparedstatement设置占位符号并将输入变量id传到sql。
resultType: 定义结果映射类型。



我会上传一个pdf里边会有,明天继续。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值