查询用户表中名字包含“优”字的用户信息
1、Mybatis的配置的准备,可看下方连接
https://blog.csdn.net/qq_43163943/article/details/110261144
2、在sql映射文件(mapper.xml)文件中编写sql语句
1)查询方式一:
User.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">
<!-- 命名空间,用于隔离sql,后面还有一个很重要的作用 -->
<mapper namespace="test">
<!-- 如果返回多条结果,mybaits会把每一个结果封装到配置的pojo中,然后把pojo放入到list集合中-->
<select id="queryUserByUsername1" parameterType="string" resultType="com.gxa.pojo.User">
select * from user where username like #{username}
</select>
</mapper>
sql形态:
2)查询方式二
<?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">
<!-- 命名空间,用于隔离sql,后面还有一个很重要的作用 -->
<mapper namespace="test">
<select id="queryUserByUsername2" parameterType="string" resultType="com.gxa.pojo.User">
select * from user where username like '%${value}%'
</select>
</mapper>
sql形态
3)测试类
package com.gxa.test;
import com.gxa.pojo.User;
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 java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class TeseDemo {
private SqlSessionFactory sqlSessionFactorybuild;
@Before
public void before() throws Exception {
//1、加载主配置文件
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
//2、加载mybaits的主配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml");
//3、加载配置文件创建sqlSession的工厂
sqlSessionFactorybuild = sqlSessionFactoryBuilder.build(resourceAsStream);
}
@Test
public void testQueryUserByUsername(){
//4、获得sqlSession
SqlSession sqlSession = sqlSessionFactorybuild.openSession();
List<User> objects = sqlSession.selectList("queryUserByUsername1", "%优%");
System.out.println(objects);
}
@Test
public void testQueryUserByUsername2(){
//4、获得sqlSession
SqlSession sqlSession = sqlSessionFactorybuild.openSession();
List<User> objects = sqlSession.selectList("queryUserByUsername2", "优");
System.out.println(objects);
}
}
3、两种方式的区别,可看下方的连接,若可以理解,则不用看。
https://blog.csdn.net/qq_43163943/article/details/110273417