知了堂学习笔记--mybatis学习_快速搭建mybatis

1、环境准备:
这里写图片描述
1.2 添加所需要的jar包到项目lib目录下:
mybatis包:mybatis-3.2.3.jar
驱动包:mysql-connector-java-5.1.25-bin.jar
这里写图片描述
1.3 创建数据表

CREATE TABLE `users` (
   `id` int(10) NOT NULL,
   `username` varchar(30) DEFAULT NULL,
   `mobile` varchar(30) DEFAULT NULL,
   PRIMARY KEY (`id`)
 ) 

2、使用mybatis操作数据库(查询):
2.1 在项目的目录下添加一个mybatis-config.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>
    <!-- 配置环境,default指定使用某种环境 -->
    <environments default="development">
        <!-- 具体环境,必须两个参数,id是当前环境唯一表示  -->
        <environment id="development">
            <!-- 事务管理器 ;type="[JDBC|MANAGED]"),
            这两个都是别名,在Configuration类中可以查看具体类!
            但是Spring对事务的控制才是最终的管理方案!
            当然也可以自定义事务管理器:
             只需要和人家一样实现TransactionFactory接口,type指定为全类名。
             -->
            <transactionManager type="JDBC" />
            <!-- 配置数据库信息 ,type可以是:[UNPOOLED|POOLED|JNDI]-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/yt_lx"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
        <!-- 可配置多个数据源 -->
        <!-- <environment id="">
            ....
        </environment> -->
    </environments>
</configuration>

2.2 定义实体类
在包com.zlt.model下创建一个类

package com.zlt.model;
/**
 * @info user实体类-对应数据表
 * @author admin_yt
 * @date 18.1.3
 */
public class User {
    private int id;
    private String username;
    private String mobile;
    //set,get,toString方法
}

2.3 定义操作users表的sql映射文件userMapper.xml,创建一个包(com.zlt.mapping)存放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,
namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的
 -->
<mapper namespace="com.zlt.mapping.userMapper">
<!-- id属性值必须是唯一的,不能够重复   
            使用parameterType属性指明查询时使用的参数类型,  
    resultType属性指明查询返回的结果集类型
     -->
    <!-- 根据ID得到一个user对象 -->
    <select id="getUser" parameterType="java.lang.Integer"
     resultType="com.zlt.model.User" >
        SELECT * FROM users WHERE id = #{id}
    </select>
</mapper>

另外在mybatis-config.xml配置文件添加如下配置,用来注册userMapper.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>
    <!-- 配置环境,default指定使用某种环境 -->
    <environments default="development">
        <!-- 具体环境,必须两个参数,id是当前环境唯一表示  -->
        <environment id="development">
            <!-- 事务管理器 ;type="[JDBC|MANAGED]"),
            这两个都是别名,在Configuration类中可以查看具体类!
            但是Spring对事务的控制才是最终的管理方案!
            当然也可以自定义事务管理器:
             只需要和人家一样实现TransactionFactory接口,type指定为全类名。
             -->
            <transactionManager type="JDBC" />
            <!-- 配置数据库信息 ,type可以是:[UNPOOLED|POOLED|JNDI]-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/yt_lx"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
        <!-- 可配置多个数据源 -->
        <!-- <environment id="">
            ....
        </environment> -->
    </environments>


    <!-- 映射mapper文件 -->
    <mappers>
        <mapper resource="com/zlt/mapping/userMapper.xml" />
    </mappers>
</configuration>

3、编写测试类:

package com.zlt.test;

import java.io.IOException;
import java.io.Reader;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import com.zlt.model.User;

public class Test {
    public static void main(String[] args) {
        String res = "mybatis-config.xml";
        SqlSessionFactory sqlSessionFactory = null;
        SqlSession sqlSession = null;
        Reader reader = null;
        try {
            //使用类加载器加载mybatis的配置文件,关联的映射文件
            reader = Resources.getResourceAsReader(res);
            // 1.创建会话工场,传入mybatis的配置文件信息
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
            // 2.通过工厂得到sqlsession
            sqlSession = sqlSessionFactory.openSession();
            // 3.通过sqlSession操作数据库
            // 第一个参数:映射文件中的statement的Id,等于namespace + "." + statement的id;
            // 第二个参数:指定和映射文件中所匹配的parameterType类型的参数;
            // sqlSession.selectOne结果是与映射文件所匹配的resultType类型的对象;
            // selectOne:查询一条结果
            User user = sqlSession.selectOne("com.zlt.mapping.userMapper.getUser", 1);
            System.out.println(user.toString());
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if( sqlSession != null) {
                sqlSession.close();
            }
            if(reader != null) {
                try {
                    reader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

测试结果
这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值