吴中企业建设网站报价,长春网站建设培训班,wordpress更新一直下载失败,win2003建网站#叫做占位符
Mybatis是封装的JDBC 增强版 内部还是用的jdbc
每遇到一个#号 这里就会变为#xff1f;占位符
一个#{}就是对应一个问号 一个占位符 用这个对象执行sql语句没有sql注入的风险
八、多个参数-使用Param 当 Dao 接口方法有多个参数#xff0c;需要通过名称使… #叫做占位符
Mybatis是封装的JDBC 增强版 内部还是用的jdbc
每遇到一个#号 这里就会变为占位符
一个#{}就是对应一个问号 一个占位符 用这个对象执行sql语句没有sql注入的风险
八、多个参数-使用Param 当 Dao 接口方法有多个参数需要通过名称使用参数: 在方法形参前面加入Param(“自定义参数名 ”) mapper 文件使用#{自定义参数名}。 8.1、sql映射文件StudentDao.xml select id selectMulitParam resultTypecom.lifang.domain.Studentselect id,name,email,age from student where name #{myname} or age #{myage}/select
8.2、StudentDao接口 public ListStudent selectMulitParam(Param(myname) String name,Param(myage) Integer age);
8.3、测试代码及结果 org.junit.Testpublic void test04(){SqlSession sqlSession MybatisUtils.getSqlSession();StudentDao dao sqlSession.getMapper(StudentDao.class);ListStudent students dao.selectMulitParam(李四,23);students.forEach(student - System.out.println(student));}九、多个参数-使用对象 使用 java 对象传递参数 java 的属性值就是 sql 需要的参数值。 灵活又方便 语法格式 #{ property属性名,javaTypejava 数据类型的全限定名称,jdbcTypeMybatis定义的数据库中类型的名称 } javaType, jdbcType 的类型 MyBatis 可以通过反射获取一般不需要设置。 常用格式 #{ property }
9.1、代表数据的实体类
public class QueryParam {private String queryName;private Integer queryAge;
9.2、sql映射文件StudentDao.xml select id selectMultiObject resultTypecom.lifang.domain.Studentselect id,name,email,age from student where name #{queryName} or age #{queryAge}/select
9.3、StudentDao接口 public ListStudent selectMultiObject(QueryParam queryParam);
9.4、测试代码及结果 org.junit.Testpublic void test05(){SqlSession sqlSession MybatisUtils.getSqlSession();StudentDao dao sqlSession.getMapper(StudentDao.class);QueryParam queryParam new QueryParam(王五,23);ListStudent students dao.selectMultiObject(queryParam);students.forEach(student - System.out.println(student));} 9.5、总结 所以我们传参的时候灵活一点参数可以是现成的java对象如Student或者用自定义的java对象QueryParam
public ListStudent selectMultiObject(QueryParam queryParam);public ListStudent selectMultiStudent(Student student);
select id selectMultiObject resultTypecom.lifang.domain.Studentselect id,name,email,age from student where name #{queryName} or age #{queryAge}/selectselect id selectMultiStudent resultType com.lifang.domain.Studentselect id,name,email,age from student where name #{name} or age #{age}/select
十、多个参数-使用对象