mabatis_config.xml
-
<?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>
-
<properties resource="curd.properties"></properties>
-
<typeAliases>
-
<typeAlias alias="Category" type="mybatis.curd.model.Category" />
-
</typeAliases>
-
<environments default="development">
-
<environment id="development">
-
<transactionManager type="JDBC" />
-
<dataSource type="POOLED">
-
<property name="driver" value="${driver}" />
-
<property name="url" value="${url}" />
-
<property name="username" value="${username}" />
-
<property name="password" value="${password}" />
-
</dataSource>
-
</environment>
-
</environments>
-
<mappers>
-
<mapper resource="mybatis/curd/dao/sql/category.xml" />
-
</mappers>
-
</configuration>
curd.properties
-
driver=com.mysql.jdbc.Driver
-
url=jdbc:mysql://localhost:3306/db_mybatis_test?Unicode=true&characterEncoding=UTF-8
-
username=root
-
password=
简单的mybatis工具类封装,获取sqlSessionFactory
MybatisUtil.java
-
package mybatis.curd.util;
-
import java.io.IOException;
-
import java.io.InputStream;
-
import org.apache.ibatis.io.Resources;
-
import org.apache.ibatis.session.SqlSessionFactory;
-
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
-
public class MybatisUtil {
-
private static SqlSessionFactory sqlSessionFactory = null;
-
static {
-
try {
-
String resource = "mybatis_config.xml";
-
InputStream is = Resources.getResourceAsStream(resource);
-
sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
-
} catch (IOException e) {
-
e.printStackTrace();
-
}
-
}
-
public static SqlSessionFactory getSqlSessionFactory() {
-
return sqlSessionFactory;
-
}
-
}
定义实体bean
Category.java
-
package mybatis.curd.model;
-
/**
-
* POJO
-
*
-
* @author guxingke
-
* */
-
public class Category {
-
private Integer id;
-
private String name;
-
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;
-
}
-
@Override
-
public String toString() {
-
return "Category [id=" + id + ", name=" + name + "]";
-
}
-
}
数据库操作接口
CategoryDao.java
-
package mybatis.curd.dao;
-
import java.util.List;
-
import mybatis.curd.model.Category;
-
/**
-
* 定义接口,与具体持久化操作无关
-
*
-
* @author guxingke
-
* */
-
public interface CategoryDao {
-
public Category getCategory(Integer id);
-
public void saveCategory(Category category);
-
public void updateCategory(Category category);
-
public void deleteCategory(Integer id);
-
public List<Category> selectAll();
-
public List<Category> fuzzyQuery(String name);
-
}
mybatis的持久化操作mapper映射文件
category.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="mybatis.curd.dao.CategoryDao">
-
<!-- 新增记录 -->
-
<insert id="saveCategory" parameterType="Category">
-
insert into
-
t_category(name) values(#{name})
-
</insert>
-
<!-- 查询单条记录 -->
-
<select id="getCategory" parameterType="int" resultType="Category">
-
select *
-
from t_category where id = #{id}
-
</select>
-
<!-- 修改记录 -->
-
<update id="updateCategory" parameterType="Category">
-
update t_category set
-
name = #{name} where id = #{id}
-
</update>
-
<!-- 查询所有记录,查询多条记录即返回结果是一个集合的时候,resultType不是集合类型,而是集合所包含的类型 -->
-
<select id="selectAll" resultType="Category">
-
select * from t_category
-
</select>
-
<!-- 模糊查询 -->
-
<select id="fuzzyQuery" resultType="Category" parameterType="java.lang.String">
-
select *
-
from t_category where name like "%"#{name}"%"
-
</select>
-
<!-- 删除记录 -->
-
<delete id="deleteCategory" parameterType="int">
-
delete from t_category
-
where
-
id = #{id}
-
</delete>
-
</mapper>
测试mybatis3推荐的持久化操作方式
CategoryDaoTest2.java
-
package mybatis.curd.dao;
-
import java.util.List;
-
import mybatis.curd.model.Category;
-
import mybatis.curd.util.MybatisUtil;
-
import org.apache.ibatis.session.SqlSession;
-
import org.junit.After;
-
import org.junit.Before;
-
import org.junit.Test;
-
/**
-
* 测试mybatis3推荐的方式
-
*
-
* @author guxingke
-
* */
-
public class CategoryDaoTest2 {
-
@Test
-
public void testGetCategory() {
-
category = categoryDao.getCategory(1);
-
System.out.println(category);
-
}
-
@Test
-
public void testSaveCategory() {
-
category.setName("demo");
-
categoryDao.saveCategory(category);
-
}
-
@Test
-
public void testUpdateCategory() {
-
category.setId(3);
-
category.setName("test update id=3");
-
categoryDao.updateCategory(category);
-
}
-
@Test
-
public void testDeleteCategory() {
-
categoryDao.deleteCategory(2);
-
}
-
@Test
-
public void testSelectAll() {
-
List<Category> categories = categoryDao.selectAll();
-
for (Category category : categories) {
-
System.out.println(category);
-
}
-
}
-
@Test
-
public void testFuzzyQuery() {
-
List<Category> categories = categoryDao.fuzzyQuery("test");
-
for (Category category : categories) {
-
System.out.println(category);
-
}
-
}
-
@Before
-
public void setUp() {
-
session = MybatisUtil.getSqlSessionFactory().openSession();
-
category = new Category();
-
categoryDao = session.getMapper(CategoryDao.class);
-
}
-
@After
-
public void tearDown() {
-
session.commit();
-
session.close();
-
}
-
SqlSession session = null;
-
Category category = null;
-
CategoryDao categoryDao = null;
-
}
测试mybatis3之前的持久化操作方式
CategoryDaoTest.java
-
package mybatis.curd.dao;
-
import java.util.List;
-
import mybatis.curd.model.Category;
-
import mybatis.curd.util.MybatisUtil;
-
import org.apache.ibatis.session.SqlSession;
-
import org.junit.After;
-
import org.junit.Before;
-
import org.junit.Test;
-
/**
-
* 测试mybatis3之前的操作方式
-
*
-
* @author guxingke
-
* */
-
public class CategoryDaoTest {
-
@Test
-
public void testGetCategory() {
-
category = session.selectOne(
-
"mybatis.curd.dao.CategoryDao.getCategory", 1);
-
System.out.println(category);
-
}
-
@Test
-
public void testSaveCategory() {
-
category.setName("curd");
-
session.insert("mybatis.curd.dao.CategoryDao.saveCategory", category);
-
}
-
@Test
-
public void testUpdateCategory() {
-
category.setName("update di =3");
-
category.setId(3);
-
session.update("mybatis.curd.dao.CategoryDao.updateCategory", category);
-
}
-
@Test
-
public void testDeleteCategory() {
-
session.delete("mybatis.curd.dao.CategoryDao.deleteCategory", 2);
-
}
-
@Test
-
public void testSelectAll() {
-
List<Category> categories = session
-
.selectList("mybatis.curd.dao.CategoryDao.selectAll");
-
for (Category category : categories) {
-
System.out.println(category);
-
}
-
}
-
@Test
-
public void testFuzzyQuery() {
-
List<Category> categories = session.selectList(
-
"mybatis.curd.dao.CategoryDao.fuzzyQuery", "y");
-
for (Category category : categories) {
-
System.out.println(category);
-
}
-
}
-
@Before
-
public void setUp() {
-
session = MybatisUtil.getSqlSessionFactory().openSession();
-
category = new Category();
-
}
-
@After
-
public void tearDown() {
-
session.commit();
-
session.close();
-
}
-
SqlSession session = null;
-
Category category = null;
-
}
--------------------- 本文来自 孤星可 的优快云 博客 ,全文地址请点击:https://blog.youkuaiyun.com/u011882512/article/details/43907581?utm_source=copy