mybatis--parametertype的参数传递
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE configuration 3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 4 "http://mybatis.org/dtd/mybatis-3-config.dtd"> 5 <configuration> 6 <properties resource="db.properties"/> 7 <settings> 8 <!-- 设置MyBatis使用log4j日志支持 --> 9 <setting name="logImpl" value="LOG4J"/> 10 </settings> 11 <!-- typeAliases给类型取别名 --> 12 <typeAliases> 13 <!-- 给user类取别名 --> 14 <!-- <typeAlias type="com.bjsxt.pojo.User" alias="u"/> --> 15 <!-- 别名都是类的名字 --> 16 <package name="com.bjsxt.pojo"/> 17 </typeAliases> 18 <!-- 用于指定使用哪个开发 19 用于指定使用的环境id 20 --> 21 <environments default="dev"> 22 <!-- 用于配置开发环境 23 id:环境的唯一识别码 24 --> 25 <environment id="dev"> 26 <!-- 事务管理器 27 type:用于设定mybatis采用什么方式管理事务 28 JDBC表示和JDBC一样事务的管理方式 29 --> 30 <transactionManager type="JDBC"/> 31 <!-- 数据源/连接池 32 用于配置链接池和数据库链接的参数 33 type:用于设置mybatis是否采用链接池技术 34 连接池:用来存数据库链接的,减少数据库的频繁开关 35 POOLED表示mybatis采用连接池技术 36 --> 37 <dataSource type="POOLED"> 38 <property name="driver" value="${jdbc.driver}"/> 39 <property name="url" value="${jdbc.url}"/> 40 <property name="username" value="${jdbc.username}"/> 41 <property name="password" value="${jdbc.password}"/> 42 </dataSource> 43 </environment> 44 </environments> 45 <!-- 扫描mapper文件 --> 46 <!-- 文件的全限制路径要用/ --> 47 <mappers> 48 <mapper resource="com/bjsxt/mapper/UserMapper.xml"/> 49 </mappers> 50 </configuration>
<?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"> <!-- namespa:命名空间,可以随意定义,一般情况下要写全限定路径(包名加类) MyBatis管理SQL语句是通过namespace+id来定位的 --> <mapper namespace="com.bjsxt.mapper.UserMapper"> <!-- select标签用于编写查询语句 id:sql语句的唯一的标识,类比为方法名 resultType:用于设定返回结果的类型(全限定路径) 如果返回结果是集合,要写集合泛型的类型 --> <select id="sellAll" resultType="user"> select * from t_user </select> <select id="selOne" resultType="user"> select * from t_user where id=1 </select> <!-- parameterType,参数类型,用于参数的传递 --> <select id="selById" resultType="user" parameterType="int"> <!-- #{用于使用参数 index,索引,从0开始 param+数字,param1,param2,parame3} --> select * from t_user where id=#{0} </select> <select id="sel" resultType="user" parameterType="map"> <!-- 如果参数是对象,可以通过#{属性名}来获取 --> <!-- 如果参数是map,可以通过#{key}来获取 --> select * from t_user where username=#{username} and password=#{password} </select> </mapper>
1 package com.bjsxt.test; 2 3 import java.io.IOException; 4 import java.util.HashMap; 5 import java.util.Map; 6 7 import org.apache.ibatis.io.Resources; 8 import org.apache.ibatis.session.SqlSession; 9 import org.apache.ibatis.session.SqlSessionFactoryBuilder; 10 import org.junit.Test; 11 12 import com.bjsxt.pojo.User; 13 14 public class TestParams { 15 @Test 16 public void selById(){ 17 SqlSession session=null; 18 try { 19 session=(SqlSession) new SqlSessionFactoryBuilder() 20 .build(Resources.getResourceAsStream("mybatis.xml")) 21 .openSession(); 22 23 User user=session.selectOne("com.bjsxt.mapper.UserMapper.selById",2); 24 System.out.println(user); 25 } catch (IOException e) { 26 // TODO Auto-generated catch block 27 e.printStackTrace(); 28 } 29 session.close(); 30 31 } 32 33 34 35 @Test 36 public void sel(){ 37 SqlSession session=null; 38 try { 39 session=(SqlSession) new SqlSessionFactoryBuilder() 40 .build(Resources.getResourceAsStream("mybatis.xml")) 41 .openSession(); 42 43 /*User u=new User(); 44 u.setUsername("zhangsan"); 45 u.setPassword("123");*/ 46 47 48 Map<String,String> map =new HashMap<>(); 49 map.put("username", "zhangsan"); 50 map.put("password", "123"); 51 52 User user=session.selectOne("com.bjsxt.mapper.UserMapper.sel",map); 53 System.out.println(user); 54 } catch (IOException e) { 55 // TODO Auto-generated catch block 56 e.printStackTrace(); 57 } 58 session.close(); 59 60 } 61 }
个人学习笔记,记录日常学习,便于查阅及加深,仅为方便个人使用。