mybatis

本文详细介绍了如何独立使用 MyBatis 框架进行数据操作,包括User实体类定义、UserDao接口及实现、SqlSessionUtil工具类、Mybatis配置文件以及Mapper映射文件的编写,并展示了测试用例进行增删查改操作。
摘要由CSDN通过智能技术生成

一 mybatis 单独使用方式

1.User 实体类 
public class User {
   private Integer id;
   private String name;
   private String pwd;
   private String email;
   private String phone;
   public User() {
   
   }
   public User(Integer id, String name, String pwd, String email, String phone) {
      super();
      this.id = id;
      this.name = name;
      this.pwd = pwd;
      this.email = email;
      this.phone = phone;
   }
    getter...  setter... toString...  hashcode...  equeals...
  }
2.dao层
public interface UserDao {
   void insertUser(User user);
   void updateUser(User user);
   void deleteUser(Integer id);
   User selectById(Integer id);
   List<User> selectAll();

}

public class UserDaoImpl implements UserDao {

	public void insertUser(User user) {
		//通过mybatis提供的API方法,来实现插入的功能
		
		SqlSession session = SqlSessionUtil.getSession();
	
		session.insert("userDao.addUser",user);
		session.commit();
		session.close();
	}

	public void updateUser(User user) {
		SqlSession session = SqlSessionUtil.getSession();
		session.update("userDao.updateUser", user);
		session.commit();
		session.close();
	
		
	}

	public void deleteUser(Integer id) {
		SqlSession session = SqlSessionUtil.getSession();
		session.delete("userDao.delUser", id);
		session.commit();
		session.close();
		
	}

	public User selectById(Integer id) {
		SqlSession session = SqlSessionUtil.getSession();
		
		
		return session.selectOne("userDao.getUser",id);
	}

	public List<User> selectAll() {
		SqlSession session = SqlSessionUtil.getSession();
		List<User> list = session.selectList("userDao.getAll");
		return list;
	}

}
3.SqlSessionUtil  
public class SqlSessionUtil {
   private static SqlSessionFactory  sf;
   static{
      InputStream in = UserDaoImpl.class.getClassLoader().getResourceAsStream("MybatisConfig.xml");
      sf = new SqlSessionFactoryBuilder().build(in);
   }
   public static SqlSession getSession(){
      return sf.openSession();
   }

}
4.MybatisConfig.xml
<?xml version="1.0" encoding="UTF-8"?> 
   <!DOCTYPE configuration PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN" 
      "http://ibatis.apache.org/dtd/ibatis-3-config.dtd">
   <configuration>
      <environments default="environment">
         <environment id="environment">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
               <property name="driver" value="com.mysql.jdbc.Driver" />
               <property name="url" value="jdbc:mysql://localhost:3306/mydb" />
               <property name="username" value="root" />
               <property name="password" value="root" />
            </dataSource>
         </environment>
      </environments>
     <mappers>
         <mapper resource="mappers/UserMapper.xml" />         
      </mappers>
   </configuration>
5.MybatisMapper.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="">
    
</mapper>
6.UserMapper.xml
<?xml version="1.0" encoding="UTF-8"?> 
   <!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" 
      "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
      
   <mapper  namespace="userDao">
   
     <insert  id="addUser"  parameterType="com.dudu.mybatis.bean.User">
        insert   into
            t_user(name,pwd,email,phone)
            values(
               #{name},#{pwd},#{email},#{phone}
            )               
     </insert>
     <update id="updateUser" parameterType="com.dudu.mybatis.bean.User">
      update 
         t_user 
      set
         name=#{name},pwd=#{pwd},email=#{email},phone=#{phone}
         where
         id=#{id}        
     </update>
     <delete id="delUser">
       delete 
          from
        t_user
        where
        id=#{id}     
     </delete>
       
     <select id="getUser" resultType="com.dudu.mybatis.bean.User">
       select * from t_user where id=#{id}     
     </select>
       
     <select id="getAll" resultType="com.dudu.mybatis.bean.User">
      select * from t_user;     
     </select>
      
   </mapper>
7.TextUser
package test;

import java.util.List;

import org.junit.Test;

import cn.tedu.mybatis.bean.User;
import cn.tedu.mybatis.dao.UserDao;
import cn.tedu.mybatis.dao.UserDaoImpl;

public class TestUser {
   @Test
   public void testInsertUser(){
      UserDao userDao = new UserDaoImpl();
      User user = new User();
      user.setName("王飞");
      user.setPwd("123456");
      user.setEmail("138000@123");
      user.setPhone("12380021452");
      userDao.insertUser(user);
   }
   @Test
   public void testDelUser(){
      UserDao userDao = new UserDaoImpl();
      userDao.deleteUser(2);
   }
   @Test
   public void testSelectUser(){
      UserDao userDao = new UserDaoImpl();
      System.out.println(userDao.selectById(1));
      
   }
   @Test
   public void testGetUserAll(){
      UserDao userDao = new UserDaoImpl();
      List<User> list = userDao.selectAll();
      for(User user : list){
         System.out.println(user);
            
         
      }
   }

}
8.pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.dudu</groupId>
   <artifactId>mybatis-day01</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <packaging>war</packaging>
   <dependencies>
      <dependency>
         <groupId>org.mybatis</groupId>
         <artifactId>mybatis</artifactId>
         <version>3.2.8</version>
      </dependency>
      <dependency>
         <groupId>MySQL</groupId>
         <artifactId>mysql-connector-java</artifactId>
         <version>5.1.6</version>
      </dependency>
      <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>4.12</version>
      </dependency>
   </dependencies>
</project>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值