模糊查询
map
接口UserDao
//万能的Map插入一个用户
void addUser2(Map<String,Object>map);
实现类UserDaoImpl
@Override
public void addUser2(Map<String, Object> map) {
}
Mybatis工具类MybatisUtils
package com.tjrac.utils;
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 java.io.IOException;
import java.io.InputStream;
//sqlSessionFactory->sqlSession
public class MybatisUtils {
private static SqlSessionFactory sqlSessionFactory;
static {
try {
//获取sqlSessionFactory对象
String resource="mybatis-config.xml";
InputStream inputStream= Resources.getResourceAsStream(resource);
sqlSessionFactory =new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
//既然优势sqlSessionFactory,我们就可以从中获取SqlSession的实例了。
//SqlSession包含的SQL命令所需的所有方法。
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession();
}
}
UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--mybatis的核心配置文件是有一定顺序的 -->
<!--
id:就是对应的namesoace方法名
resultType:Sql语句执行的返回方法
-->
<mapper namespace="com.tjrac.dao.UserDao">
<insert id="addUser2" parameterType="map">
insert into mybatis.user (id, name, paw) value (#{userid},#{username},#{userpaw});
</insert>
</mapper>
测试类UserDaoTest
package com.tjrac.dao;
import com.tjrac.pogo.User;
import com.tjrac.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class UserDaoTest {
@Test
public void upUser2(){
//第一步:获取SqlSession对象
SqlSession sqlSession = MybatisUtils.getSqlSession();
//第二步:执行SQL
UserDao userDao= sqlSession.getMapper(UserDao.class);
Map<String,Object> map =new HashMap<String,Object>();
map.put("userid","5");
map.put("username","郑承");
map.put("userpaw","456789");
userDao.addUser2(map);
//提交事务,很重要
sqlSession.commit();
sqlSession.close();
}
}
Map传递参数,直接在sql中取出Key!【parameterType=“map”】
对象传递参数,直接sql中取对象的属性即可!【parameterType=“Object”】
只有一个类型基本参数的情况下,可以直接取到!
多个参数用Map或注解
线程的状态
四级标题 配置解析
核心配置文件
mybatis-config.xml