mybatis——参数传入用法

在这里插入图片描述
下面是:Caipin.java

package cn.java.dao.entity;

import java.io.Serializable;

import javax.management.loading.PrivateClassLoader;
//序列化:将对象流化
public class Caipin implements Serializable{
    /**
	 * 这里按住Ctrl点一下小灯,点第二行,就可以得到下面的唯一的id,序列化
	 */
	private static final long serialVersionUID = 6432765534521356105L;
	private Long id;
    private String foodName;
    private String taste;
    private Float price;
    private String description;
    private String imgPath;
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getFoodName() {
		return foodName;
	}
	public void setFoodName(String foodName) {
		this.foodName = foodName;
	}
	public String getTaste() {
		return taste;
	}
	public void setTaste(String taste) {
		this.taste = taste;
	}
	public Float getPrice() {
		return price;
	}
	public void setPrice(Float price) {
		this.price = price;
	}
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	public String getImgPath() {
		return imgPath;
	}
	public void setImgPath(String imgPath) {
		this.imgPath = imgPath;
	}
	@Override
	public String toString() {
		return "Caipin [id=" + id + ", foodName=" + foodName + ", taste=" + taste + ", price=" + price
				+ ", description=" + description + ", imgPath=" + imgPath + "]";
	}
     
}

下面是:mybatis.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <typeAliases>
         <!-- typeAlias标签:可以为某一Javabean类取一个别名
         type属性:类的全路径——cn.java.dao.entity.Caipin
         alias属性:别名
         typeAlias标签:该标签下可以同时配置多个别名,必须放在configuration里面的environment上面,
          需要放在主配置文件的第一行
         
          -->
         <typeAlias type="cn.java.dao.entity.Caipin" alias="Caipin"/>
    </typeAliases>
	<!-- 配置数据库连接环境:driver、url、username、password -->
	<environments default="mysql">
		<!-- 开始配置mysql -->
		<environment id="mysql">
			<!--配置事务  -->
			<transactionManager type="JDBC"></transactionManager>
			<!-- 配置数据源 -->
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver"/>
				<property name="url" value="jdbc:mysql:///dt55"/>
				<property name="username" value="root"/>
				<property name="password" value="root"/>
			</dataSource>
		</environment>
	</environments>
	
	<!-- 关联局部配置文件 -->
	<mappers>
		<mapper resource="cn/java/dao/impl/CaiDaoImpl.xml"/>
	</mappers>
</configuration>

下面是CaiDaoImpl.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:命名空间,其值为某一个dao层类的具体路径
 -->
<mapper namespace="cn.java.dao.impl.CaiDaoImpl">
	  <select id="getCaipinById1" resultType="Caipin">
	      SELECT * FROM caipin WHERE id=22
	  </select>
	  
	  <select id="getCaipinById2" resultType="cn.java.dao.entity.Caipin">
	      SELECT * FROM caipin WHERE id=22
	  </select>
	  
	  
	  <!-- 根据id查询指定菜品信息 -->
	  <!-- parameterType属性:参数类型。Long、long、java.lang.Long -->
	  <select id="selectCaipinById" resultType="map" parameterType="java.lang.Long">
	      SELECT * FROM caipin WHERE id=#{0} 
	  </select>
	  
	  
	  <!-- 多个条件的查询:
	      >:"&gt;"
	      <:"&lt;"	    
	   -->
	  <!-- 多个条件的查询 -->
	  <select id="selectCaipinMany" parameterType="Map" resultType="Map"><!-- parameterType:根据的列表是一个map表; resultType:查询出来的一行列表也是一个map表-->
	       SELECT * FROM caipin WHERE  price&lt;#{xiaoYuPrice} AND taste=#{taste} AND price&gt;#{daYuPrice}
	  </select>
</mapper>

下面是CaiDaoImpl.java

package cn.java.dao.impl;

import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.naming.InitialContext;

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 cn.java.dao.entity.Caipin;

public class CaiDaoImpl {
	private SqlSession session=null;
	
	@Before   //这个before只能用在init里面
	public void Init() throws Exception{
		// SqlSession-->SqlSessionFactory-->SqlSessionFactoryBuilder
    	SqlSessionFactoryBuilder ssfb=new SqlSessionFactoryBuilder();
    	InputStream ins =Resources.getResourceAsStream("mybatis.xml");
    	SqlSessionFactory factory=ssfb.build(ins);
    	 session=factory.openSession();
	}
	@Test
    public void getCaipinById1() throws Exception{
    	
    	//调用相应的sql语句
    	Caipin caipin=session.selectOne("cn.java.dao.impl.CaiDaoImpl.getCaipinById1");
    	System.out.println(caipin);
    }
    
	
	@Test
    public void getCaipinById2() throws Exception{
    	
    	//调用相应的sql语句
    	List<Caipin> caiPinList=session.selectList("cn.java.dao.impl.CaiDaoImpl.getCaipinById2");
        System.out.println(caiPinList);
	}
	
	/*<!-- 根据id查询指定菜品信息 :带一个参数的查询-->*/
	@Test
    public void selectCaipinById() throws Exception{
		Map<String,Object> caipinMap=session.selectOne("cn.java.dao.impl.CaiDaoImpl.selectCaipinById", 22L);
	    System.out.println(caipinMap);
	}
	
	/*<!-- 根据id查询指定菜品信息 :带多个参数的查询-->*/
	@Test
    public void selectCaipinByMany() throws Exception{
		Map<String, Object> paramMap=new HashMap<String,Object>();
		paramMap.put("xiaoYuPrice", 21);
		paramMap.put("daYuPrice", 12);
		paramMap.put("taste", 2);
		List<Map<String, Object>> caiPinList=session.selectList("cn.java.dao.impl.CaiDaoImpl.selectCaipinMany", paramMap);
	    System.out.println(caiPinList);
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值