MyBatis的使用步骤(建项目建module,持久化,配置,以及第一个入门案例)

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

原文地址:https://www.cnblogs.com/yfyfyff/p/7665677.html