个人学习笔记MyBatis的搭建及第一个程序

1、导入Jar包

2、设置全局配置文件

<?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>  
        <!--给实体类起一个别名 user -->  
        <typeAlias type="cn.sky.bookshop.beans.User" alias="User" />  
    </typeAliases>  
    <!--数据源配置  这块用 mysql数据库 -->  
    <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/ibatis" />  
                <property name="username" value="root" />  
                <property name="password" value="215890" />  
            </dataSource>  
        </environment>  
    </environments>  
    <mappers>  
        <!--userMapper.xml装载进来  同等于把“dao”的实现装载进来 --> 
        <mapper resource="User.xml" />   
        <mapper resource="UserMapper.xml" />  
    </mappers>  
</configuration>  

3、编写Javabean

package cn.sky.bookshop.beans;

public class User {
    private int id;
    private String userName;
    private String password;
    private String email;
    
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }

    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    @Override
    public String toString() {
	return "User [email=" + email + ", id=" + id + ", password=" + password
		+ ", username=" + userName + "]";
    }
}

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="test">
	<!-- 添加记录   parameterType传入参数类型-->
	<insert id="insertUser" parameterType="User">
		insert into
		t_user(id,username,password,email)values(#{id},#{userName},#{password},#{email});
	</insert>
	<!-- resultType返回参数类型 -->
	<select id="findUserByName" parameterType="string" resultType="User">
		select * from t_user where username=#{userName};
	</select>

	<delete id="deleteUserById" parameterType="int">
		delete from t_user
		where id=#{id};
	</delete>

	<update id="updateUser" parameterType="User">
		update t_user set
		username=#{userName},password=#{password},email=#{email} where
		id=#{id};
	</update>

</mapper>

5、dao接口

package cn.sky.bookshop.dao;

import cn.sky.bookshop.beans.User;

public interface UserDao {
    
    public User findUserByName(String username);
    
    public void insertUser(User user);
    
    public void deleteUserById(int id);
    
    public void updateUser(User user);
}

6、dao实现

package cn.sky.bookshop.dao;

import org.apache.ibatis.session.SqlSession;

import cn.sky.bookshop.beans.User;
import cn.sky.bookshop.utils.MyBatisUtil;

public class UserDaoImpl implements UserDao {
    //查找
    public User findUserByName(String username) {
        SqlSession sqlSession = MyBatisUtil.getSqlSession();  
       	User user = sqlSession.selectOne("test.findUserByName",username);
        sqlSession.close();
	return user;
    }
    //插入
    public void insertUser(User user) {
        SqlSession sqlSession = MyBatisUtil.getSqlSession();  
       	sqlSession.insert("test.insertUser", user);
        sqlSession.commit();
        sqlSession.close();
    }
    //删除
    public void deleteUserById(int id){
        SqlSession sqlSession = MyBatisUtil.getSqlSession();  
       	sqlSession.delete("test.deleteUserById", id);
        sqlSession.commit();
        sqlSession.close();
    }
    //更新
    public void updateUser(User user){
        SqlSession sqlSession = MyBatisUtil.getSqlSession();  
       	sqlSession.update("test.updateUser", user);
        sqlSession.commit();
        sqlSession.close();
    }
}

7、前面还少了个工具类....MyBatisUtil

package cn.sky.bookshop.utils;

import java.io.IOException;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;


public final class MyBatisUtil {
    
    private static SqlSessionFactory sessionFactory;
    private static String resource = "configuration.xml";  
    
    static{
        try {  
            sessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsReader(resource));
//            sessionFactory.getConfiguration().addMapper(UserDao.class);
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }
  
    public static SqlSession getSqlSession(){
	return sessionFactory.openSession();
    }
}
8、Dao测试类

package cn.sky.bookshop.test;

import cn.sky.bookshop.beans.User;
import cn.sky.bookshop.dao.UserDao;
import cn.sky.bookshop.dao.UserDaoImpl;

public class UserDaoImplTest {

    public static UserDao userDao = new UserDaoImpl();
    
    public static void main(String[] args) {
//	addUser();
//	findUser();
//	deleteUser();
	updateUser();
    }
    
    public static void addUser(){
	User user = new User();
	user.setUserName("李四");
	user.setPassword("zhangsanw2");
	user.setEmail("zserw@qq.com2");
	userDao.insertUser(user);
    }
    
    public static void findUser(){
	User user = userDao.findUserByName("李四");
	System.out.println(user);
    }
    
    public static void deleteUser(){
	userDao.deleteUserById(3);
    }
    
    public static void updateUser(){
	User user = new User();
	user.setId(2);
	user.setUserName("小吴");
	user.setPassword("xiaowu");
	user.setEmail("abc@qq.com2");
	userDao.updateUser(user);
    }

}


原文地址:https://www.cnblogs.com/37sky/p/5055553.html