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

  • 相关阅读:
    Eclipse怎么导入外来项目
    java批量解压文件夹下的所有压缩文件(.rar、.zip、.gz、.tar.gz)
    java批量读取多个文件并存入数据库
    字符串转日期,出现错误
    tomcat设置默认欢迎页、server.xml配置文件中的标签理解
    个人网站搭建时linux中的相关配置记录(mysql,jdk,nginx,redis)
    linux定时重启tomcat服务的脚本学习
    linux服务器的相关信息查看(端口占用,cpu、内存占用,防火墙,系统信息,vim编辑器使用等)
    java极光推送记录
    @transactional注解,报错后数据库操作回滚失败
  • 原文地址:https://www.cnblogs.com/yfyfyff/p/7665677.html
Copyright © 2020-2023  润新知