标签:
【工程截图和数据库同01】
【user.xml】
根据用户名来查询对应的User
<select id="findUserByName" parameterType="java.lang.String" resultType="com.Higgin.Mybatis.po.User"> SELECT * FROM USER WHERE username LIKE #{value}
</select> <select id="findUserByName2" parameterType="java.lang.String" resultType="com.Higgin.Mybatis.po.User"> SELECT * FROM USER WHERE username LIKE ‘%${value}%‘ </select>
1.根据用户名称模糊查询用户信息,可能返回多条
2.resultType :指定就是单条记录所映射的java对象类型
3.${ }:表示拼接sql字符串,将接受到参数的内容不加任何修饰拼接在sql中。
4.使用${}拼接字符串,引起sql注入,不建议使用
5.${value}:接受输入参数的内容,如果传入类型是简单的类型,${}中只能使用value
【MyBatisTest.java】
@Test public void testFindUserByName() throws IOException{ //mybatis配置文件 String resource="SqlMapConfig.xml"; //得到配置文件 InputStream inputStream=Resources.getResourceAsStream(resource); //创建会话工厂,传入mybatis的配置文件信息 SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream); //通过工厂得到SqlSession SqlSession sqlSession=sqlSessionFactory.openSession(); //通过SqlSession操作数据库 //第一个参数:银蛇文件中statement的id,等于:namespace+"."+statement的id //第二个参数:指定换个映射文件中的所撇皮的parameterType类型的参数 List<User> userList=sqlSession.selectList("test.findUserByName2", "小明"); //不推荐!!!!以引起SQL注入 for (User user : userList) { System.out.println(user.toString()); } //释放资源 sqlSession.close(); }
【运行结果如下】
【MyBatisTest.java】
@Test
public void testFindUserByName() throws IOException{
//mybatis配置文件
String resource="SqlMapConfig.xml";
//得到配置文件
InputStream inputStream=Resources.getResourceAsStream(resource);
//创建会话工厂,传入mybatis的配置文件信息
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
//通过工厂得到SqlSession
SqlSession sqlSession=sqlSessionFactory.openSession();
//通过SqlSession操作数据库
//第一个参数:银蛇文件中statement的id,等于:namespace+"."+statement的id
//第二个参数:指定换个映射文件中的所撇皮的parameterType类型的参数
List<User> userList=sqlSession.selectList("test.findUserByName", "%小明%"); //推荐
for (User user : userList) {
System.out.println(user.toString());
}
//释放资源
sqlSession.close();
}
【运行结果】
标签:
原文地址:http://www.cnblogs.com/HigginCui/p/5699558.html