MyBatis初级环境搭建

1.导入jar包
MyBatis在github上的主页:https://github.com/mybatis/mybatis-3,直接下载,选择解压后文件中的mybatis-3.3.1.jar
MyBatis初级环境搭建_第1张图片
其他三个文档为用户手册、MyBatis源码以及注解文档。
2.编写config.xml以下为简单模板,没有使用property文件

<?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/xy36_mss" /> <!-- url -->
                <property name="username" value="root" /><!-- username -->
                <property name="password" value="root" /><!-- password -->
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/yufeng/model/UserMapper.xml"/> <!-- 映射文件 -->
    </mappers>
</configuration>

3.编写JavaBean

package com.yufeng.model;

import java.io.Serializable;

public class User implements Serializable{

    /** * */
    private static final long serialVersionUID = 8027397040189411533L;
    protected String account;
    protected String pwd;
    protected String status;
    protected String userId;
    protected String userName;
    public String getAccount() {
        return account;
    }
    public void setAccount(String account) {
        this.account = account;
    }
    public String getPwd() {
        return pwd;
    }
    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    public String getUserId() {
        return userId;
    }
    public void setUserId(String userId) {
        this.userId = userId;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }

}

这里需要说明的是:(1)实现 Serializable是为了跨平台之后JavaBean任然可以正常使用。
(2)修饰属性,我习惯使用protected,因为子类可以直接访问属性
4.编写映射文件

<?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="yufeng.User"> <!-- 命名空间 ,名字要唯一 -->
    <sql id="user_sql"><!-- 一个sql语句模板 ,可以用于字符串拼接 -->
            user_id as userId,
            account,
            password as pwd,
            user_name as userName,
            status
    </sql>
    <insert id="add" parameterType="com.yufeng.model.User" ><!-- 插入操作,id在同一命名空间内要唯一,当传入类型为普通类型时,使用parameterType,不需要使用parameterMap关键字 -->
    INSERT INTO
        SYS_USER
            (account,password,user_name)
        VALUES
            (#{account},#{pwd},#{userName})  <!-- 直接访问对象的属性 -->
    </insert>
    <select id="select" parameterType="int" resultType="com.yufeng.model.User"><!-- 查询操作操作 -->
        select 
            <include refid="user_sql"></include>
        from sys_user where user_id = #{asdf}  <!-- 只有一个属性的时候,参数名字可以随便起 -->
    </select>

    <select id="list" parameterType="int" resultType="com.yufeng.model.User">
        select 
            <include refid="user_sql"></include>
        from sys_user 
    </select>

    <select id="like" parameterType="string" resultType="com.yufeng.model.User">
        select 
            <include refid="user_sql"></include>
        from sys_user where user_name like #{ asdf }
    </select>
</mapper>

5.在config.xml中配置映射
在2中已配置

6.查询操作

package com.yufeng.test;

import java.io.InputStream;

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.yufeng.model.User;

public class 用户查询操作 {
    public static void main(String[] args) {
        String path = "mybatis-config.xml";//在src路径下时可以直接这样写
        SqlSession session = null;
        try {
            /** 1.读取session文件 */
            InputStream input = Resources.getResourceAsStream(path);
            /** 2.创建SessionFactory 相当于建立Connection */
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(input);
            /** 3.打开Session,相当于创建Statement */
            session = factory.openSession();
            /** 4.执行操作*/
            System.out.println(session.selectOne("yufeng.User.select", 1));//selectOne的第一个参数是namespace+id
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            /** 6.关闭连接 */
            if(session!=null){
                session.close();
            }

        }

    }
}

你可能感兴趣的:(mybatis,java-简单调用)