首页 > 其他 > 详细

mybatis(一)MyBatis快速入门以及一个简单的demo

时间:2019-08-31 16:46:46      阅读:92      评论:0      收藏:0      [点我收藏+]

MyBatis学习总结(一)——MyBatis快速入门

一、Mybatis介绍

  技术分享图片

  MyBatis是一个支持普通SQL查询存储过程高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

二、Mybatis的快速入门

  先在eclipse中新建一个java工程,然后需要我们添加jar包

  【mybatis】
        mybatis-3.1.1.jar
  【MYSQL 驱动包】
      mysql-connector-java-5.1.7-bin.jar
  然后在数据库中建立一个简单的表,代码如下
create database mybatis;
use mybatis;
CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, NAME
VARCHAR(20), age INT);
INSERT INTO users(NAME, age) VALUES(‘Tom‘, 12);
INSERT INTO users(NAME, age) VALUES(‘Jack‘, 11);

  接下来开始添加mybatis中的配置文件conf.xml,在src目录下创建一个conf.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>
    <properties resource="db.properties"></properties>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
            <property name="driver" value="com.mysql.jdbc.Driver" />
            <property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
            <property name="username" value="root" />
            <property name="password" value="root" />
            </dataSource>
        </environment>
    </environments>
    <!-- 把映射文件引入到配置文件中  -->
    <mappers>
        <mapper resource="com/zhiyou100/wyf/mapper/UsersMapper.xml"/>
        <mapper resource="com/zhiyou100/wyf/mapper/OrdersMapper.xml"/>
    </mappers>
</configuration>

然后我们定义与表所对应的的实体类

public class User {
private int id;
private String name;
private int age;
//get,set 方法
}

定义操作users表的sql映射文件userMapper.xml

创建一个mapper包,专门用于存放sql映射文件,在包中创建一个userMapper.xml文件

<?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:表示名称空间。现在的目的是区分id的. -->
<mapper namespace="com.zhiyou100.wyf.mapper.UsersMapper">
<!-- 根据id查询用户。id:标识该标签。
parameterType:参数类型。可以写 也可以省略
resultType:返回结果的类型。
#{id}:类似于EL表达式。 解析id的值
-->
<select id="getUser" parameterType="int" resultType="com.zhiyou100.wyf.bean.Users">
select * from users where id = #{id}
</select>

</mapper>

在conf.xml文件中注册userMapper.xml文件

技术分享图片

 

 编写单元测试来检验代码

package com.test;

import static org.junit.jupiter.api.Assertions.*;

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 org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;

import com.zhiyou100.wyf.bean.Users;

class TestMy {
    static SqlSession session = null;
    static String str ="com.zhiyou100.wyf.mapper.UsersMapper";
    
    @BeforeAll
    static void setUpBeforeClass() throws Exception {
        //解析配置文件conf.xml
        Reader reader = Resources.getResourceAsReader("conf.xml");
        //获取SessionFactory对象
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
        session=sessionFactory.openSession();
    }

        @Test
    void testck() {
        Users users = session.selectOne(str+".getUser",2);
        System.out.println(users);
    }

    @AfterAll
    static void tearDownAfterClass() throws Exception {
        session.commit();
    }
}

    

 

 提示:session.commit();  代表所有的sql语句在最后编译完成之后手动提交;

 可以添加日志来查看运行过程,引入jar包

技术分享图片

然后引入日志文件log4j.properties

log4j.properties,
log4j.rootLogger=DEBUG, Console
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

 

 查询完成

 技术分享图片

 

 

 

 

mybatis(一)MyBatis快速入门以及一个简单的demo

原文:https://www.cnblogs.com/yufengwang/p/11439529.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!