mybaties总结

22 篇文章 0 订阅
17 篇文章 0 订阅

1.需要导入四个坐标
分别是mybatits、junit、log4j、mysql-connection-java

2.连接数据库信息、配置mapper的位置

3.映射文件namespace对应的是接口全名、id是接口里面的方法名、resultType是类的全名

4.创建测试类的时候
(1)SqlSessionFactoryBuilder通过初始方法从xml文件获取到sqlSessionFactory
(2)sqlSessionFactory通过openSession()方法来获取到sqlSession对象
(3)通过sqlSession的getMapper方法实现了userDao接口中userDao,通过userDao对象回调接口的findAll()方法

5.连接数据库的方式
(1)第一种方式通过外部指定的方式,将数据库连接相关信息配置在典型的 Java 属性配置文件中

外部文件:

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/book
username=root
password=1234

配置文件的内容:

   <environments default="mysql">
          <environment id="mysql">
              <transactionManager type="JDBC" />
              <dataSource type="POOLED">
                  <property name="driver" value="${jdbc.driver}" />
                  <property name="url" value="${jdbc.url}" />
                  <property name="username" value="${jdbc.username}" />
                  <property name="password" value="${jdbc.password}" />
              </dataSource>
          </environment>
      </environments>
  上面加了一个resource,所以在有多数的数据库连接方式的时候会优先访问外部的properties文件

(2)第二种方式:直接配置为xm的方式: 可以使用直接配置为 xml的方式 ,并使用这些属性对配置项实现动态配置

(3)第三种方式:直接引用

 <environments default="mysql">
          <environment id="mysql">
              <transactionManager type="JDBC"/>
              <dataSource type="POOLED">
                  <property name="driver" value="com.mysql.jdbc.Driver"/>
                  <property name="url" value="jdbc:mysql://localhost:3306/user"/>
                  <property name="username" value="root"/>
                  <property name="password" value=""/>
              </dataSource>
          </environment>
      </environments>

6.开启自动驼峰命名规则映射
(1)用下面设置在配置文件里面进行写入

  <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

(2)在映射文件里面写,需要注意此刻需要开启第七项中的任意一个包,指定包名,或者是指定非限制性类

<mapper namespace="com.jbgaa.mapper.UserDao">
             <resultMap id="resultMap" type="user">
                 <id property="userId" column="user_id"></id>
                 <result property="userName" column="user_name"></result>
                 <result property="passWord" column="user_password"></result>
             </resultMap>
     <select id="findAll" resultMap="resultMap">
         select * from user1
     </select>
 </mapper>

7.1)非限定类,不区分大小写、2)给实体类取别名

  <typeAliases>
         默认名称:指定包下javabean的非限定类,不区分大小写,意思就是这个包里的类不需要在写前面包的路径 
  <package name="com.jbgaa.entity"/>-->
    加一个别名,上面方式是为给实体类取别名,方便在 mapper 配置文件中使用,下面是为一个类指定别名
          <typeAlias alias="user" type="com.jbgaa.entity.User"/>
     </typeAliases>

8.mappers元素获取资源的四种方式

  <mappers>1)第一种方式mapper 映射文件加入到系统核心配置文件中
<mapper resource="com/bbbaa421/Dao/BookDao.xml"/>2) 第二种方式:<mapper class= "接口路径" >
<mapper class="com.bbbaa421.Dao.BookDao"></mapper>3) 第三种方法使用使用 URL 获取资源-->
 <mapper url="file:///E:\QMKS\Test_lx\src\main\resources\com\jbgaa\mapper\UserDao.xml"/>4)第四种方法使用 <package> 获取资源-->
<package name="com.bbbaa421.Dao"></package>
    </mappers>

9.resultType与resultMap只能使用一个

10.测试类的关键所在
I

nputStream inputStream = Resources.getResourceAsStream("mybatis_config.xml");
sqlSessionFactory =new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession=sqlSessionFactory.openSession();
UserDao userDao=sqlSession.getMapper(UserDao.class);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我要变胖哇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值