1.配置idea,导入依赖,把一段标签代码放到pom.xml中
2.创建maven项目
选择maven----->maven webapp---->添加一个键值对,让创建速度变快。----->名称groupid(cn.happy) artifactid (项目名称)-->maven选择(settings.xml 文件夹repository)---->注意事项
3.在project下创建Module。maven目录结构
main
java标记为 蓝色---->源代码目录
resources -------->资源目录
test
java ------>测试目录
resources ---->测试资源目录
4.MyBatis
(1).什么是持久化?
持久化:持久化是 程序数据在 瞬时状态 和 持久状态间 转换的过程
序列化
(2).ORM Object(Java对象 实体) Relational(二维表) Mapping 对象关系映射
(3).创建mybatis-config.xml文件
更改了${名称}
通过以下代码去关联数据库的连接信息文件
<properties resource="jdbc.properties"/>
jdbc.properties文件
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///数据库名
jdbc.username=root
jdbc.password=root
(4)第一个入门案例
实体类
public class Dept {
private Integer deptno;
private String deptname;
//快速封装属性的快捷键是 alt+insert键
}
(5)创建接口和小配置,并且在mybatis中关联小配置
public interface IDeptDAO {
//查询所有 alt+enter alt+回车
public List<Dept> findAll();
}
<?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">
<!--根节点
namespace:
-->
<mapper namespace="cn.happy.dao.IDeptDAO">
<select id="findAll" resultType="cn.happy.entity.Dept">
select * from dept
</select>
</mapper>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
(6)写测试类
//1.读取大配置,获取到连接信息
String resouce="mybatis-config.xml";
//2.为什么要转变成一个InputStream
String resouce="mybatis-config.xml";
//1.1 将硬盘上一个xml变成一个输入流
InputStream is = Resources.getResourceAsStream(resouce);
//1.2 使用流对象作为参数创建一个会话工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
//1.3 通过会话工厂创建会话对象 session就是程序员和数据库交互的入口
SqlSession session = factory.openSession();
//1.4 调度selectList方法执行sql,并且获取结果
List<Dept> list = session.selectList("findAll");
for (Dept dept:list) {
System.out.println(dept.getDeptname());
}
//1.5 关闭会话,释放资源,提高性能
session.close();
(8).整合日志
1.在resources加入名称为log4j.properties物理文件
2.在最后一行加入 log4j.logger.cn.happy.dao(自己dao的包的名称)=debug, stdout,file
5.三大要素
核心配置文件 mybatis-config.xml
根节点:configuration
配置文件识别到jdbc.properties
<properties resouce="jdbc.properties">
</properties>
<environments default="development">
<environment id="development">
1.事务管理器TransactionManager JDBC|MANAGED
2.DataSource POOLED|UNPOOLED|JNDI
3.四大属性 dirver url username password ${jdbc.xxxx}
</environment>
</environments>
1.关联小配置
<mappers>
<mapper resouce="cn/happy/dao/IDeptDAO.xml"/>
</mappers>
2.小配置
根节点:
<mapper namespace="cn.happy.dao.IDeptDAO">
<select id="findAll" parameterType="传入的参数 可以省略" resultType="类的全名称cn.happy.entity.Dept">
select * from dept
</select>
</mapper>
3.创建测试类
读取配置文件
String resource="mybatis-config.xml";
InputStream is=Resources.getResourceAsStream(resouce);
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
SqlSession session=factory.openSession();
4.getMapper作用
IDeptDAO mapper=session.getMapper(xxx.class);
List<Dept> list=mapper.findAll();
5. 增删改操作必须运行在事务环境中
session.commit();
不提交事务,影响不了数据表
6.session.selectList("锁定sql")