mybatis配置(二)mybatis接口注解方式

同mybatis配置里面的前三步,1.创建java项目,2.添加jar包,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>
    <!-- 配置别名 -->
    <typeAliases>
        <typeAlias alias="user" type="com.mybatis.model.User" />
    </typeAliases>
    <!-- 配置mybatis环境 -->
    <environments default="development">
        <environment id="development">
            <!-- 配置 业务管理 -->
            <transactionManager type="JDBC"></transactionManager>
            <!-- 配置数据库 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/test" />
                <property name="username" value="root" />
                <property name="password" value="110119" />
            </dataSource>
        </environment>
    </environments>
    <!-- 使用注解的方式,此处就不需要配置mappers<mappers><mapper/></mappers> -->
</configuration>
二.创建实体类

/**
* @author wuchao
* @time 下午4:14:31
* @description TODO
*/
package com.mybatis.model;

/**
* @author wuchao
* @time 下午4:14:31
*
*/
public class User {

private int id;
private String name;
private String dept;
private String phone;
private String website;

/**
 * @author wuchao
 * @time 下午4:16:15
 */
public User() {
    super();
    // TODO Auto-generated constructor stub
}

/**
 * @author wuchao
 * @time 下午4:16:41
 */
public User(int id, String name, String dept, String phone, String website) {
    super();
    this.id = id;
    this.name = name;
    this.dept = dept;
    this.phone = phone;
    this.website = website;
}

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getDept() {
    return dept;
}

public void setDept(String dept) {
    this.dept = dept;
}

public String getPhone() {
    return phone;
}

public void setPhone(String phone) {
    this.phone = phone;
}

public String getWebsite() {
    return website;
}

public void setWebsite(String website) {
    this.website = website;
}

三.创建接口

/**
 * @author wuchao
 * @time 下午4:11:30
 * @description TODO
 */
package com.mybatis.dao;


import org.apache.ibatis.annotations.Select;

import com.mybatis.model.User;

/**
 * @author wuchao
 * @time 下午4:11:30
 *
 */
public interface IUser {

    @Select("SELECT * FROM user WHERE id = #{id}")
    public User getUserByID(Integer id);
}

四.创建测试类

/**
 * @author wuchao
 * @time 下午4:34:30
 * @description TODO
 */
package test;

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.mybatis.dao.IUser;
import com.mybatis.model.User;

/**
 * @author wuchao
 * @time 下午4:34:30
 *
 */
public class Test {

    private static SqlSessionFactory sqlSessionFactory;
    private static Reader reader;
    static{
        try {
            reader = Resources.getResourceAsReader("mybatis-config.xml");
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
//          Configuration configuration = sqlSessionFactory.getConfiguration();
//          System.out.println("1:"+configuration);
//          configuration.addMapper(IUser.class);
            sqlSessionFactory.getConfiguration().addMapper(IUser.class);
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }
    }
    public static SqlSessionFactory getSession(){
        return sqlSessionFactory;
    }
    public static void main(String args[]){
        SqlSession session = sqlSessionFactory.openSession();
        try {
            IUser iuser = session.getMapper(IUser.class);
            User user = iuser.getUserByID(1);
            System.out.println("用户名:"+user.getName());
            System.out.println("所属部门"+user.getDept());
            System.out.println("联系方式"+user.getPhone());
            System.out.println("网站"+user.getWebsite());
        } catch (Exception e) {
            // TODO: handle exception
        }finally{
            session.close();
        }
    }
}

五.项目结构和测试结果
这里写图片描述

猜你喜欢

转载自blog.csdn.net/wuchao_codingforever/article/details/79811421