课程回顾
1、什么是框架
一个软件或系统的半成品,帮助我们快速开发的一个架子。
使用框架后更好的进行二次开发维护,对不同的资源进行合理分配。
举例:钢筋架子结构,水泥浇灌
2、mybatis相关
mybatis是一个orm框架,对象关系映射的持久层框架,只要与数据库交互的框架都是orm框架
使用mybatis可以实现动态sql的控制,可以提供数据库连接池用来统计管理我们的链接数据库的资源
3、mybatis与hibernate对比
mybatis:半自动,简单灵活易学,还可以根据自己的需求改变sql
hibernate:全自动,学习成本高,只能完成它自己可以实现的事情
4、入门案例
第一步:
创建一个java项目 ——> 创建lib文件夹 ——> 指定lib为我们使用jar包的路径(buildpath)
第二步:
导入相应的jar包 1、log4j(日志) 2、mysql(链接数据库) 3、mybatis(Mybatis框架的依赖)
第三步:
导入配置文件
1、log4j.properties 用来控制管理我们的日志以什么形式什么级别打印在什么地方 (直接拷贝)
2、jdbc.properties 用来存放数据库连接的基本信息 driver url username password
3、mybatis-config.xml Mybatis的核心配置文件
<configuration>
<!--
配置连接数据库的信息资源文件
resource:一般从classpath目录下找资源文件
url: 绝对路径 d://a/ab/df.properties
-->
<properties resource="jdbc.properties" />
<!--给全类名起别名用的配置-->
<typeAliases>
<typeAlias type="com.tledu.pojo.User" alias="User" />
</typeAliases>
<!--配置环境-->
<environments default="development">
<environment id="development">
<!--使用jdbc提供的事物管理-->
<transactionManager type="JDBC"/>
<!--使用poolde连接池-->
<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>
<!--配置映射-->
<mappers>
<mapper resource="com/tledu/mapper/UserMapper.xml" />
<mapper class="com.tledu.mapper.IUserMapper" />
</mappers>
<configuration>
4、maper.xml 用来写sql的配置文件
<!--
namespace: 表示当前的mapper的唯一标识
-->
<mapper namespace="User">
<!--
id: sql的唯一标识
parameterType: 传入的参数类型
-->
<insert id="add" parameterType="User" >
insert into t_user(username,password) values(#{username},#{password});
</insert>
</mapper>
5、MyatisTest 测试类
//1.加载mybatis-config.xml配置文件
InputStream in = Resource.getResourceAsStream("mybatis-config.xml");
//2.根据输入流中的数据创建session工厂
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(in);
//3.开启session
SqlSession session = sessionFactory.openSession();
//4.调用添加方法执行添加
session.insert("User.add",user);
//5.提交事务
session.commit();
//6.关闭session
session.close();
5、mybatis使用mapper的三种方式
① session 入门案例
② 接口代理 (常用)
1、需要创建一个UserMapper接口
2、创建UserMapper.xml 注意:namespace=“接口的全类名”
3、在mybatis-config.xml配置文件中添加相应的映射
<mappers>
<mapper class="com.tledu.mapper.UserMapper"/> //映射接口全类名
</mappers>
4、测试
session.getMapper(UserMapper.class).add(user);
③ 注解(不常用)
1、创建一个UserMapper接口
@insert(" insert into t_user(username,password) values(#{username},#{password}); ")
void add(User user);
2、在mybatis-config.xml配置文件中添加对这个接口的映射
<mappers>
<mapper class="com.tledu.mapper.UserMapper"/> //映射接口全类名
</mappers>
3、session.getMapper(UserMapper.class).add(user);
//session.insert("com.tledu.mapper.UserMapper.add",user);