使用IDEA Maven搭建mybatis环境

 创建一个空的Maven项目

 

 

在p 1 <dependencies>

 2 <!-- mybatis核心包 -->
 3         <dependency>
 4             <groupId>org.mybatis</groupId>
 5             <artifactId>mybatis</artifactId>
 6             <version>3.3.0</version>
 7         </dependency>
 8         <!-- mysql驱动包 -->
 9         <dependency>
10             <groupId>mysql</groupId>
11             <artifactId>mysql-connector-java</artifactId>
12             <version>5.1.29</version>
13         </dependency>
14         <!-- junit测试包 -->
15         <dependency>
16             <groupId>junit</groupId>
17             <artifactId>junit</artifactId>
18             <version>4.11</version>
19             <scope>test</scope>
20         </dependency>  
37  </dependencies>

在java创建包edu.wang.pojo创建一个User.java

创建User实体

package edu.wang.pojo;

public class User {
    private int uid;
    private String uname;
    private int uage;

    public int getUid() {
        return uid;
    }

    public void setUid(int uid) {
        this.uid = uid;
    }

    public String getUname() {
        return uname;
    }

    public void setUname(String uname) {
        this.uname = uname;
    }

    public int getUage() {
        return uage;
    }

    public void setUage(int uage) {
        this.uage = uage;
    }
}
user mybatis
create table users
(
    uid int primary key auto_increment,
    uname varchar(20) not null,
    uage int not null
)
insert into users(uid,uname,uage) values(null,'张三',20),(null,'李四',18)
select * from users

创建数据库和相应的表后,在resources文件夹中创建(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>
    <!-- 环境配置 -->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <!-- 数据库连接相关配置 ,这里动态获取config.properties文件中的内容-->
            <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>
    <!-- mapping文件路径配置 -->
    <mappers>
        <mapper resource="mapper/UserMapper.xml"/>
    </mappers>

</configuration>

在resources创建一个mpaaer文件夹,存放需要映射的xml文件

在mapper创建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">
        <!--
<!-- mapper为映射的根节点,namespace指定Dao接口的完整类名
mybatis会依据这个接口动态创建一个实现类去实现这个接口,
而这个实现类是一个Mapper对象-->
-->
<mapper namespace="edu.wang.pojo.User">
  <!--id ="接口中的方法名"
  parameterType="传入的参数类型"
  resultType = "返回实体类对象,使用包.类名"-->

<select id="findById" parameterType="int" resultType="edu.wang.pojo.User"> select * from users where uid = #{id}

</select> </mapper>

创建完UserMapper.xml文件后需要配置到mybatis-config.xml文件中

 

编写单元测试类

 1 package Test;
 2 
 3 import edu.wang.pojo.User;
 4 import org.apache.ibatis.io.Resources;
 5 import org.apache.ibatis.session.SqlSession;
 6 import org.apache.ibatis.session.SqlSessionFactory;
 7 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
 8 import org.junit.Test;
 9 
10 import java.io.IOException;
11 import java.io.Reader;
12 
13 public class UserTest {
14     @Test
15     public void userFindByIdTest(){
16         //定义读取文件名
17         String resources = "mybatis-config.xml";
18         //创建流
19         Reader reader=null;
20         try {
21             //读取mybatis-config.xml文件到reader对象中
22             reader= Resources.getResourceAsReader(resources);
23         } catch (IOException e) {
24             e.printStackTrace();
25         }
26         //初始化mybatis,创建SqlSessionFactory类的实例
27         SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader);
28         //创建session实例
29         SqlSession session=sqlMapper.openSession();
30         //传入参数查询,返回结果
31         User user=session.selectOne("findById",1);
32         //输出结果
33         System.out.println(user.getUname());
34         //关闭session
35         session.close();
36 
37     }
38 }

执行程序查看结果

 

 

 

posted @ 2018-09-08 00:29  wangf98  阅读(39286)  评论(1编辑  收藏  举报