mybatis框架实现数据库的增删查改

mybatis框架实现数据库的增删查改


(一)不使用接口和注解

1.准备数据库
mybatis框架实现数据库的增删查改_第1张图片
mybatis框架实现数据库的增删查改_第2张图片
在这里插入图片描述
2.创建maven工程
mybatis框架实现数据库的增删查改_第3张图片
mybatis框架实现数据库的增删查改_第4张图片
3.在pom文件中引入需要的依赖
mybatis框架实现数据库的增删查改_第5张图片


  4.0.0
  com.lsh
  MYBATIS-1
  0.0.1-SNAPSHOT
   
    
  		mysql
	    mysql-connector-java
  		5.1.32
  	
  	
  		org.mybatis
  		mybatis
  		3.5.2
  	
  		
  		junit
  		junit
  		4.12
  	
  

4.在resource目录下创建mybatis核心配置文件
mybatis框架实现数据库的增删查改_第6张图片
mybatis框架实现数据库的增删查改_第7张图片
5.配置mybatis-config.xml





  
  
    
      
      
      
        
        
        
        
      
    
  

6.创建实体类User,用于封装数据
在这里插入图片描述

package com.lsh.pojo;

public class User {
		private Integer id;
		private String name;
		private String sex;
		public Integer getId() {
			return id;
		}
		public void setId(Integer id) {
			this.id = id;
		}
		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		public String getSex() {
			return sex;
		}
		public void setSex(String sex) {
			this.sex = sex;
		}
		@Override
		public String toString() {
			return "User [id=" + id + ", name=" + name + ", sex=" + sex + "]";
		}
	}

7.创建User的映射文件(Mapper/UserMapper.xml),并添加要执行的SQL语句

mybatis框架实现数据库的增删查改_第8张图片





	 
	 
	 	insert into user value(#{id},#{name},#{sex})
	 

8.在mybatis核心配置文件中添加(注册)映射文件UserMapper.xml
在这里插入图片描述
mybatis框架实现数据库的增删查改_第9张图片


  
  

9.创建测试类测试mybatis框架

mybatis框架实现数据库的增删查改_第10张图片

package com.lsh;

import java.io.IOException;
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 org.junit.Test;

import com.lsh.pojo.User;

public class testMybatis{
	private SqlSessionFactory sqlSessionFactory;
	private SqlSession sqlSession=null;
	{
		InputStream inputStream=null;
		String resource = "mybatis-config.xml";
		try {
			//读取mybatis-config.xml文件保存到文件流对象
			inputStream = Resources.getResourceAsStream(resource);
		} catch (IOException e) {
			e.printStackTrace();
		}
		//根据对象中封装的信息创建sqlSessionFactory
		sqlSessionFactory = new SqlSessionFactoryBuilder().
				build(inputStream);
		//基于sqlSessionFactory创建sqlSession,类似于JDBC中的Connection
		sqlSession = sqlSessionFactory.openSession();
	}
	/**
	 * 执行此方法插入一条数据
	 */
	@Test
	public void InsertUser(){
		//准备数据user
		User user=new User();
		user.setId(1);
		user.setName("张三");
		user.setSex("男");
		//startement的值为mybatis-config.xml中的
		//namespace和要执行的SQL语句的id
		String statement="BlogMapper.insertUser";
		//执行插入语句
		int rows = sqlSession.insert(statement, user);
		//提交事务
		sqlSession.commit();
		System.out.println("受影响行数"+rows);
	}
}

@Test如何执行?在有@Test注解的方法上双击选中方法名,再run as
mybatis框架实现数据库的增删查改_第11张图片
执行结果:
mybatis框架实现数据库的增删查改_第12张图片
在这里插入图片描述
10.增加查询所有记录的方法
1)在UserMapper中增加查询的SQL语句
在这里插入图片描述


	 

2)在testMybatis中添加查询所有记录的方法
mybatis框架实现数据库的增删查改_第13张图片

	/**
	 * 执行此方法查询所有表记录
	 */
	@Test
	public void queryAll(){
		String statement="BlogMapper.findAll";
		//执行查询,封装到List集合
		List userList = sqlSession.selectList(statement);
		//输出到控制台
		for (Object user : userList) {
			System.out.println(user);
		}
	}
 
  

执行结果:
mybatis框架实现数据库的增删查改_第14张图片

(二)使用接口开发
1.添加UserMapper接口并在其中添加修改的方法
mybatis框架实现数据库的增删查改_第15张图片
2.修改UserMapper.xml文件中的namespace,并添加修改的SQL语句
mybatis框架实现数据库的增删查改_第16张图片
需要注意的是:修改SQL语句的id必须和接口中的方法名相同,否则底层无法匹配
mybatis框架实现数据库的增删查改_第17张图片
3.在testMybatis中添加修改的方法

/**
	 * 执行此方法修改相应记录
	 */
	@Test
	public void modUser() {
		//准备要修改的数据
		User user=new User();
		user.setId(1);
		user.setName("查尔斯");
		user.setSex("女");
		//获取接口
		UserMapper mapper = sqlSession.
				getMapper(UserMapper.class);
		//执行修改操作
		int rows = mapper.updateUser(user);
		sqlSession.commit();
		System.out.println("受影响行数"+rows);
	}

执行结果:
mybatis框架实现数据库的增删查改_第18张图片
在这里插入图片描述
4.重复上面的步骤完成删除
1)在UserMapper.xml文件中添加删除的SQL

 
	 
	 delete from user where id=#{id}
	 

2)在UserMapper接口中添加删除的方法
mybatis框架实现数据库的增删查改_第19张图片
3)在testMybatis中完成删除功能

	/**
	 * 执行此方法删除相应记录
	 */
	@Test
	public void deleteId(){
		UserMapper mapper = sqlSession.getMapper
		(UserMapper.class);
		//删除id为1的记录
		int rows = mapper.deleteUser(1);
		sqlSession.commit();
		System.out.println("受影响行数"+rows);
	}

执行结果:
mybatis框架实现数据库的增删查改_第20张图片
在这里插入图片描述
(三)使用注解
1.根据id查询单条记录
1)在接口中添加查询单条记录的方法
mybatis框架实现数据库的增删查改_第21张图片
2)在testMybatis中完成该功能
mybatis框架实现数据库的增删查改_第22张图片

你可能感兴趣的:(框架)