第二步就是在mapper中加入运行增删改查的前提条件,中间的where语句可以删除,保留的目的就是提供一个判断,让功能更完善。里面的id、test都必须和在测试类里面的一样,否则会报错查询不到。
select * from mybatis.user where id=#{id} name LIKE CONCAt('%',#{name },'%') and status=#{status} limit 0,2
创建好了后就在Test中敲入有关增删改查的代码,在每一个模块我都加了@Test,目的就是有时可以单独运行其中一个板块,不会受到其他代码BUG的影响。
package Test;
import example.entity.Actor;
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 utils.MyBatisUtils;
import java.io.IOException;
import java.io.Reader;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ActorTest {//创建sql工厂
private SqlSessionFactory sqlSessionFactory;
private SqlSession sqlSession;
public void init(){
String resource="mybatis-config.xml";
Reader reader=null;
try {
//读取mybatis-config.xml文件内容到reader对象中
String resources = null;
reader = Resources.getResourceAsReader(resources);
SqlSessionFactory sqlMapper = new
SqlSessionFactoryBuilder().build(reader);
sqlSession = sqlMapper.openSession();
} catch (IOException e) {
e.printStackTrace();
}
}
@Test//测试
public void find(){//查询
Map map=new HashMap();//创建Map对象
map.put("start","1");//插入Map的值
SqlSession sqlSession = MyBatisUtils.getSession();//调用工具类
List list =sqlSession.selectList("findById",map);//调用sql的List的方法,插入Map,返回List,注意id统一
for (Actor actor :list){//遍历循环输出
System.out.println(actor);
}
}
@Test
public void addUser(){//增加
SqlSession session = MyBatisUtils.getSession();
example.entity.Actor actor = new example.entity.Actor();//创建实体层对象
actor.setId(3);//插入id
actor.setAge(18);//插入Age
actor.setName("张三");//插入name
int res = session.insert("addUser", actor);//调用insert方法,将返回值赋给res
if (res !=0){
System.out.println("插入成功");
} else {
System.out.println("插入失败");
}
}
@Test
public void delete () {//删除
//SqlSession执行映射文件中定义的sql,并返回映射结果
SqlSession session = MyBatisUtils.getSession();
Integer result = session.delete("deleteUser", 3);
if (result > 0) {
System.out.println("删除成功");
} else {
System.out.println("删除失败");
}
}
@Test
public void update(){//修改
SqlSession session = MyBatisUtils.getSession();
example.entity.Actor actor = new example.entity.Actor();//创建实体层对象
actor.setId(3);//修改id
actor.setAge(15);
actor.setName("张四");
int res = session.update("updateUser", actor);
if (res !=0){
System.out.println("修改成功");
} else {
System.out.println("修改失败");
}
}
//销毁方法
public void destroy() {
//提交事务
sqlSession.commit();
//关闭事务
sqlSession.close();
}
}
最后成功运行。



