mybatis-01 最简Demo示例

mybatis-01原始Dao开发方式

      • 1. 下载jar包
      • 2. 加入配置文件
        • 1. log4j.properties
        • 2.创建SqlMapConfig.xml
        • 3.创建db.properties
      • 3.创建pojo
      • 3. sql映射文件
      • 4.加载sql映射文件
      • 5.测试

1. 下载jar包

mybaits的代码由github.com管理
下载地址:https://github.com/mybatis/mybatis-3/releases

mybatis-01 最简Demo示例_第1张图片

2. 加入配置文件

1. log4j.properties

mybatis默认使用log4j作为输出日志信息。

# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

2.创建SqlMapConfig.xml

SqlMapConfig.xml是mybatis核心配置文件,配置文件内容为数据源、事务管理。





	
		
		
	
	
	
			
			
			
			
	
	
	
		
			
			
			
			
				
				
				
				
			
		
	
	
	
		
		
	


3.创建db.properties

配置数据路连接信息文件

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8
jdbc.username=fbd
jdbc.password=root

3.创建pojo

pojo类作为mybatis进行sql映射使用,po类通常与数据库表对应

Public class User {
	private int id;
	private String username;// 用户姓名
	private String sex;// 性别
	private Date birthday;// 生日
	private String address;// 地址
get/set省略。。。

3. sql映射文件

在config下的sqlmap目录下创建sql映射文件User.xml:





	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
		
	
		INSERT INTO `user`
				(`username`,
				`birthday`,
				`sex`,
				`address`)
		VALUES (#{username},
				#{birthday},
				#{sex},
				#{address});
	
	
	
	
		UPDATE
		   `user`
		SET
			`username` = #{username}
		WHERE `id` = #{id} ;
	
	
	
	
			DELETE
			FROM  `user` 
			WHERE  `id` = #{id} 
	

4.加载sql映射文件

mybatis框架需要加载Mapper.xml映射文件
将users.xml添加在SqlMapConfig.xml,如下:
mybatis-01 最简Demo示例_第2张图片

5.测试

步骤如下:

  1. 创建SqlSessionFactoryBuilder对象
  2. 加载SqlMapConfig.xml配置文件
  3. 创建SqlSessionFactory对象
  4. 创建SqlSession对象
  5. 执行SqlSession对象执行查询,获取结果User
  6. 打印结果
  7. 释放资源
package test;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
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.bo.Orders;
import com.bo.User;
import com.util.SqlSessionFactoryUtils;
public class MybatisTest {

	@Test
	public void testGetUserById() throws IOException {
		//1.创建SqlSessionFactoryBuilder对象
		SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder();
		//2.创建核心配置文件的输入流
		InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml");
		//3.通过输入流创建SqlSessionFactory对象(sqlsession工厂对象)
		SqlSessionFactory build = ssfb.build(resourceAsStream);
		//4.通过sqlsession工厂创建sqlsession对象
		SqlSession sqlSession = build.openSession();
		//执行查询,参数一: sql id  参数二: 入参
		User user = sqlSession.selectOne("user.findUserById", 10);
		System.out.println(user);
		//使用完释放资源
		sqlSession.close();
		resourceAsStream.close();
	}
	
	@Test
	public void testGetUserByUserName() {
		//获取SqlSessionFactory
		SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();
		//创建SqlSession
		SqlSession sqlSession = sqlSessionFactory.openSession();
		List userList = sqlSession.selectList("user.getUserByUserName", "张");
		for(User user: userList) {
			System.out.println(user);
		}
		// 释放资源
		sqlSession.close();
		
	}
	@Test
	public void testInsertUser() {
		//获取SqlSessionFactory
		SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();
		//创建SqlSession
		SqlSession sqlSession = sqlSessionFactory.openSession();
		User user = new User();
		user.setUsername("萧峰");
		user.setSex("男");
		user.setBirthday(new Date());
		user.setAddress("南斯拉夫");
		sqlSession.insert("user.insertUser", user);
		System.out.println(user+"==============");
		//提交事务
		sqlSession.commit();
		// 释放资源
		sqlSession.close();
	}
	
	@Test
	public void testUpdateUser() {
		//获取SqlSessionFactory
		SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();
		//创建SqlSession
		SqlSession sqlSession = sqlSessionFactory.openSession();
		User user = new User();
		user.setId(31);
		user.setUsername("萧峰大虾哈嘿");
		//user.setSex("男");
		//user.setBirthday(new Date());
		user.setAddress("南斯拉夫北极熊");
		sqlSession.update("user.updateUser", user);
		//提交事务
		sqlSession.commit();
		// 释放资源
		sqlSession.close();
	}
	@Test
	public void testDeleteUser() {
		//获取SqlSessionFactory
		SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();
		//创建SqlSession
		SqlSession sqlSession = sqlSessionFactory.openSession();
		User user = new User();
		user.setId(27);
		sqlSession.delete("user.deleteUser", user);
		//提交事务
		sqlSession.commit();
		// 释放资源
		sqlSession.close();
	}
}

你可能感兴趣的:(mybatis-01 最简Demo示例)