mybatis笔记 - 初始配置及dao的封装

1、用户实体类

package com.javasm.entity;
/**
 * 
 *TODO 用户表实体类
 * @author CaoLei 2018年6月26日上午10:50:12
 * ManagerUser
 */
public class User {
    // id
    private String id;
    // 用户名
    private String userName;
    // 密码
    private String pssword;
    // 电话
    private String phone;
    // 地址
    private String address;
    // 生日
    private String birth;
    // 性别
    private String sex;
    
    
    
    public User() {
        super();
    }
    public User(String id, String userName, String pssword, String phone,
            String address, String birth, String sex) {
        super();
        this.id = id;
        this.userName = userName;
        this.pssword = pssword;
        this.phone = phone;
        this.address = address;
        this.birth = birth;
        this.sex = sex;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getPssword() {
        return pssword;
    }
    public void setPssword(String pssword) {
        this.pssword = pssword;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    public String getBirth() {
        return birth;
    }
    public void setBirth(String birth) {
        this.birth = birth;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
}

2、Dao层

package com.javasm.dao;

import java.util.List;

import com.javasm.entity.User;

/**
 * 
 *TODO 
 * @author CaoLei 2018年6月26日上午10:53:37
 * UserDao
 */
public interface UserDao {
    List<User> listUsers();
    
    User getUser(int id);
    
}

3、核心配置

<?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" />
            <!-- 配置数据库连接信息 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url"
                    value="jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF-8&amp;useSSL=false" />
                <property name="username" value="root" />
                <property name="password" value="root" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/javasm/mapper/UserMapper.xml" />
    </mappers>
</configuration>

4、 mapper.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="com.javasm.dao.UserDao">
    <select id="getUser" parameterType="int"
        resultType="com.javasm.entity.User">
        select * from user where id=#{id}
    </select>
    
    <select id="listUsers" parameterType="int"
        resultType="com.javasm.entity.User">
        select * from user where id=#{id}
    </select>
</mapper>

5、测试类

package 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.javasm.dao.UserDao;
import com.javasm.entity.User;

public class MainTest {
    // mybatis的配置文件
    private static final String resource = "mybatis-config.xml";
    private static UserDao mapper;
    static {

        // 使用MyBatis提供的Resources类加载mybatis的配置文件(它也加载关联的映射文件)
        try {
            Reader reader = Resources.getResourceAsReader(resource);
            SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder()
                    .build(reader);
            // 创建能执行映射文件中sql的sqlSession
            SqlSession session = sessionFactory.openSession();
            // 获取dao实现的映射
            mapper = session.getMapper(UserDao.class);
            // 执行查询返回一个唯一user对象的sql
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
       
    }

    public static void main(String[] args) throws IOException {
       
        User user = mapper.getUser(1);
        System.out.println(user);
    }

}

猜你喜欢

转载自www.cnblogs.com/caoleiCoding/p/9228463.html
今日推荐