mybatis使用2

二、使用mybatis

a. 添加pom依赖

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.25</version>
</dependency>

b.编写SqlMapConfig.xml文件

、、、
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

<!-- 别名 -->
<typeAliases>
    <!-- 针对单个别名定义 type:类型的路径 alias:别名  -->
    <typeAlias type="com.luck.auto.autoTest.domain.DbNotice" alias="dbNotice"/>
    
    <!-- 批量别名定义  指定包名,mybatis自动扫描包中的po类,自动定义别名,别名就是类名(首字母大写或小写都可以)-->
  <!--   <package name="com.luck.auto.autoTest.domain"/> -->
</typeAliases>

<!-- 和spring整合后 environments配置将废除-->
<environments default="development">
    <environment id="development">
    <!-- 使用jdbc事务管理,事务控制由mybatis-->
        <transactionManager type="JDBC" />
    <!-- 数据库连接池,由mybatis管理-->
        <dataSource type="POOLED">
            <property name="driver" value="com.mysql.jdbc.Driver" />
            <property name="url" value="jdbc:mysql://rm-t4n9425xh6am1t9woo.mysql.singapore.rds.aliyuncs.com:3306/ticketnew" />
            <property name="username" value="db_tester" />
            <property name="password" value="4rfv$RFV" />
        </dataSource>
    </environment>
</environments>    

<!-- 加载 映射文件 -->
<mappers>
    <!--通过resource方法一次加载一个映射文件 -->
    <mapper resource="mappers/DbNoticeMapper.xml"/>
 <!--    <mapper url="src/main/resources"/>  -->
    
    <!-- 通过mapper接口加载单个 映射文件
    遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录 中
    上边规范的前提是:使用的是mapper代理方法
     -->
    <!-- <mapper class="com.cy.mapper.UserMapper"/> -->
    
    <!-- 批量加载mapper
    指定mapper接口的包名,mybatis自动扫描包下边所有mapper接口进行加载
    遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录 中
    上边规范的前提是:使用的是mapper代理方法
     -->
    <!-- <package name="com.cy.mapper"/> -->
</mappers>

</configuration>

b。设置生成mapper.xml文件的位置

46363456345634634.png

c。test代码

@Test
public void dbTest() throws IOException{
    
    String resource = "SqlMapConfig.xml";

// InputStream inputStream = Resources.getResourceAsStream(resource);

    Reader reader = null;
    reader = Resources.getResourceAsReader(resource);
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
    SqlSession session = sqlSessionFactory.openSession();
    try {
        DbNoticeMapper mapper = session.getMapper(DbNoticeMapper.class);
        DbNotice blog = mapper.selectByPrimaryKey(1l);
        System.out.println(blog.getTitle());
    } finally {
      session.close();
    }
    
}
WangWang20170324010217.png

解释:

mybaits generator生成的文件中,编写sql语句的文件

WangWang20170324010404.png

对应数据库各字段的类

WangWang20170324010610.png

映射的可直接调用的方法:

WangWang20170324010732.png

在测试用例中可以调用Mapper文件里的各种方法。也可以自主添加sql语句,增加方法进行调用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 11,157评论 0 4
  • 1 引言# 本文主要讲解JDBC怎么演变到Mybatis的渐变过程,重点讲解了为什么要将JDBC封装成Mybait...
    七寸知架构阅读 76,802评论 36 979
  • 每个线程都应该有它自己的SqlSession实例。SqlSession的实例不能共享使用,它是线程不安全的 配置文...
    蕊er阅读 3,276评论 0 0
  • MyBatis是一个可以自定义SQL、存储过程和高级映射的持久层框架。MyBatis 摒除了大部分的JDBC代码、...
    七寸知架构阅读 11,684评论 6 56
  • woodjdjjddjndj
    wd我是小李子阅读 884评论 0 0