mybatis入门搭建

mybatis入门搭建

1概述

原本是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation 迁移到了 Google Code,随着开发团队转投Google Code 旗下, iBatis3.x正式更名为MyBatis。

MyBatis 是一款优秀的持久层框架。

MyBatis 避免了几乎所有的 JDBC 代码手动设置参数以及手动获取结果集的操作。

MyBatis 可以使用 XML 或注解来配置和映射,将数据库中的记录映射成 Java 的 POJO(Plain Old Java Objects,普通的 Java 对象),是一种 ORM(ORM Object Relational Mapping 对象关系映射)实现.

它支持动态 SQL 以及数据缓存.

Mybatis 将基本的 JDBC 常用接口封装,对外提供操作即可.

Mybatis 中文官网 https://mybatis.org/mybatis-3/zh/getting-started.html

2环境搭建

我们可以从中文官网找如下的模板

1创建表和表的对应实体类(属性名尽量保持一致)
2导入mybatis mysql jar,maven项目pom加入依赖即可
<dependency>   
<groupId>org.mybatis</groupId>    <artifactId>mybatis</artifactId>    <version>3.4.2</version>
</dependency>
<dependency>  
<!--mysql依赖-->  
    <groupId>mysql</groupId>  
  <artifactId>mysql-connector-java</artifactId>       <version>8.0.16</version>
</dependency>
3创建mybatis全局文件
<?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>    
    <properties resource="jdbc.properties"/>    <settings>     
    <setting name="logImpl"value="STDOUT_LOGGING"/>   
    <!--将a.name与a_name自动格式转换-->        <setting name="mapUnderscoreToCamelCase" value="true"/> 
    </settings>   
    <typeAliases>     
    <package name="com.hkx.domain"/>    </typeAliases> 
    <environments default="development">        <environment id="development">            <transactionManager type="JDBC"/>            <dataSource type="POOLED">                <property name="driver" value="${jdbc.driver}"/>  <property name="url"   value="${jdbc.url}"/>       <property name="username"value="${jdbc.user}"/>  <property   name="password" value="${jdbc.passwd}"/>      
    </dataSource>     
    </environment>   
    </environments>  
    <mappers>      
    <mapper resource="mapper/AdminMapper.xml"/>        <mapper resource="mapper/StudentsMapper.xml"/>        <mapper resource="mapper/GradeMapper.xml"></mapper> 
    </mappers>
    </configuration>
4创建sql映射文件
<?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" >
    <mapper namespace="com.hkx.mapper.GradeMapper">    <select id="selectStudents" resultMap="studentMap"//映射下方resultMap>      
    SELECT g.name,s.id,s.name sname,s.gender        from students s        right JOIN grade g        on g.id = s.gradeId   
    </select>//select中写sql语句  
    <resultMap id="studentMap" type="Grade">        <result property="name" column="name"/>        <collection property="students"  javaType="list" ofType="students">      
    <id column="id" property="id"/>            <result property="name" column="sname"/>            <result property="gender" column="gender"/>        </collection> 
    </resultMap>
    </mapper>
5定义接口
public interface GradeMapper { 
    List<Grade> selectStudents();
}
6测试mybatis

读取配置文件

Reader reader = Resources.getResourceAsReader(“mybatis-config.xml”);

创建 SqlSessionFactory

SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);

创建 SqlSession

SqlSession sqlSession = sessionFactory.openSession();

获得接口代理对象

sqlSession.getMapper(接口.class);

sqlSession .close();关闭

在这里插入图片描述
在这里插入图片描述

7说明

SqlSessionFactory 接口

使用 SqlSessionFactory 来创建 SqlSession,一旦创建 SqlSessionFactory 就 会在整个应用过程中始终存在。由于创建开销较大,所以没有理由去销毁再创建 它,一个应用运行中也不建议多次创建 SqlSessionFactory。

qlSession,一旦创建 SqlSessionFactory 就 会在整个应用过程中始终存在。由于创建开销较大,所以没有理由去销毁再创建 它,一个应用运行中也不建议多次创建 SqlSessionFactory。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值