映射文件Mapper.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">
<!-- namespace:命名空间,类似java中的包名(不能重复)
id:类似java中的类名(不同的命名空间可以有相同的id)
-->
<mapper namespace="a">
<!--
使用 #{键}方式 实际上 是使用 占位符 ? 来替代
使用 ${键}方式 实际上 是使用值 直接替换对应的键 注意 如果是字符串 手工添加 ''
-->
<select id="selectFoodByParam" resultType="java.util.Map">
select * from foods where price=${myprice} and foodname='${myfoodname}'
</select>
</mapper>
public class MyBatisTest {
public static SqlSession getSession() throws IOException{
String resource = "mybatis配置文件路径";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session=sqlSessionFactory.openSession();
return session;
}
/*
*直接调用映射文件中定义的sql语句:传入的参数可以是Map,对象
*/
@Test
public void testObject() throws IOException{
SqlSession session =getSession();
//传入一个对象,对象的属性名和参数名对应
Food food=new Food();
food.setMyfoodname("青椒肉丝");
food.setMyprice("100");
//a.selectFoodByParam=namespace.id
List list=session.selectList("a.selectFoodByParam",food);
//当查询的结果只有一行时,可以使用selectOne()方法
System.out.println(list);
}
@Test
public void testMap() throws IOException{
SqlSession session =getSession();
//传入一个Map,Map的键和参数名对应
Map map=new HashMap();
map.put("myprice", 100);
map.put("myfoodname", "青椒肉丝");
List list=session.selectList("a.selectFoodByParam",map);
System.out.println(list);
}
<?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">
<!-- namespace:命名空间,类似java中的包名(不能重复)
id:类似java中的类名(不同的命名空间可以有相同的id)
-->
<mapper namespace="a">
<!--
使用 #{键}方式 实际上 是使用 占位符 ? 来替代
使用 ${键}方式 实际上 是使用值 直接替换对应的键 注意 如果是字符串 手工添加 ''
-->
<select id="selectFoodByParam" resultType="java.util.Map">
select * from foods where price=${myprice} and foodname='${myfoodname}'
</select>
</mapper>
foods表:
foodid number 主键,
foodname varchar2(20),
price number
public class MyBatisTest {
public static SqlSession getSession() throws IOException{
String resource = "mybatis配置文件路径";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session=sqlSessionFactory.openSession();
return session;
}
/*
*直接调用映射文件中定义的sql语句:传入的参数可以是Map,对象
*/
@Test
public void testObject() throws IOException{
SqlSession session =getSession();
//传入一个对象,对象的属性名和参数名对应
Food food=new Food();
food.setMyfoodname("青椒肉丝");
food.setMyprice("100");
//a.selectFoodByParam=namespace.id
List list=session.selectList("a.selectFoodByParam",food);
//当查询的结果只有一行时,可以使用selectOne()方法
System.out.println(list);
}
@Test
public void testMap() throws IOException{
SqlSession session =getSession();
//传入一个Map,Map的键和参数名对应
Map map=new HashMap();
map.put("myprice", 100);
map.put("myfoodname", "青椒肉丝");
List list=session.selectList("a.selectFoodByParam",map);
System.out.println(list);
}