目录
这里用的是老师的方法,主要是用 这种方法(而不是how2j的方法) 推荐用老师的方法,这样方便,用selectOne等方法容易晕
1.先是映射的时候,映射的是一个包
包的话是单独用来放映射的一个包
目录结构为:(这个包的命名要与src下的mapper.java类的包名一致)
2.mybatis-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="db.properties"></properties>
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"></setting>
</settings>
<typeAliases>
<!-- 一个类的别名 -->
<!-- <typeAlias type="com.bean.Category" alias="category"/> -->
<!-- 一个包的别名 -->
<package name="com.bean" />
</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="com.mapper.xml" /> -->
<package name="com.mapper"/>
</mappers>
</configuration>
3.CategoryMapper.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="com.mapper.CategoryMapper">
<!-- <select id="getAllCategory" resultType="com.bean.Category"> -->
<select id="getAllCategory" resultType="category">
select * from category_
</select>
<select id="getCategoryById" resultType="category">
select * from category_ where id=#{id}
</select>
<update id="updateCategoryById">
update category_ set password=#{password} where id=#{id}
</update>
<insert id="insertCategory">
insert into category_(user_name,password) value(#{userName},#{password})
</insert>
<delete id="deleteCategory">
delete from category_ where id=#{id}
</delete>
</mapper>
4.CategoryMapper.java
package com.mapper;
import java.util.List;
import com.bean.Category;
public interface CategoryMapper {
/**
* 查询所有的Category
* @return
*/
public List<Category> getAllCategory();
/**
* 根据id查询Category
* @return
*/
public Category getCategoryById(int id);
/**
* 根据id更新密码
* @param category
* @return
*/
public int updateCategoryById(Category category);
/**
*插入一条Category信息
* @param category
* @return
*/
public int insertCategory(Category category);
/**
* 根据id删除信息
* @param id
* @return
*/
public boolean deleteCategory(int id);
}
5.Test类
package com.test;
import java.io.IOException;
import java.io.InputStream;
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.Before;
import org.junit.Test;
import com.bean.Category;
import com.mapper.CategoryMapper;
public class CategoryTest {
SqlSessionFactory factory ;
@Before
public void init()throws IOException{
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
factory = new SqlSessionFactoryBuilder().build(is);
}
@Test
public void testAllCategory() {
SqlSession session = factory.openSession();
try {
CategoryMapper mapper = session.getMapper(CategoryMapper.class);
List<Category> list=mapper.getAllCategory();
for (Category category : list) {
System.out.println(category.getName());
}
} finally {
session.close();
}
}
@Test
public void testGetCategoryById(){
SqlSession session = factory.openSession();
try {
CategoryMapper mapper=session.getMapper(CategoryMapper.class);
Category category = mapper.getCategoryById(2);
/*Category category = new Category();
category=session.selectOne("getCategoryById",2);*/
System.out.println(category);
} finally {
session.close();
}
}
@Test
public void testUpdateCategoryById(){
SqlSession session = factory.openSession();
try {
CategoryMapper mapper =session.getMapper(CategoryMapper.class);
Category category = new Category();
category.setPassword("xxxx");
category.setId(3);
int result = mapper.updateCategoryById(category);
session.commit();
System.out.println("更新结果为:"+result);
} finally {
session.close();
}
}
@Test
public void testInsertCategory(){
SqlSession session = factory.openSession();
try {
CategoryMapper mapper = session.getMapper(CategoryMapper.class);
Category category = new Category();
category.setName("梁英俊");
category.setPassword("yingjun");
int result = mapper.insertCategory(category);
session.commit();
System.out.println("插入结果为:"+result);
} finally {
session.close();
}
}
@Test
public void testDeleteCategory(){
SqlSession session = factory.openSession();
try {
CategoryMapper mapper = session.getMapper(CategoryMapper.class);
boolean result = mapper.deleteCategory(1);
session.commit();
System.out.println("删除结果为:"+result);
} finally {
session.close();
}
}
}
这里用的是老师的方法,主要是用 这种方法(而不是how2j的方法) 推荐用老师的方法,这样方便,用selectOne等方法容易晕
CategoryMapper mapper = session.getMapper(CategoryMapper.class); boolean result = mapper.deleteCategory(1);