如何在操作SQL语句执行时 携带动态的信息
sqlSession调用方法时 增删改查方法都提供了两个重载
insert("sqlid"); insert("sqlid",object)
执行sql语句的时候 sql语句中使用#{
key}
如果sql语句中只有一个#{
key} key是可以随便写
如果sql语句中两个以上的#{
key} 需要key与传递参数的值对应
domain对象
map
insert into student values(?,?,?,?,?);
pstat.setString(2,"zzt"); 通过判断调用的方法 管理底层SQL是否拼接单引号
insert into student values(#{
id},#{
name},#{
sex},,,);
我们传递给SqlSession一个对象
反射分析对象中每一个属性的类型
根据类型来判断该调用pstat.setString 帮我们管理是否拼接单引号
#{
} -----> 表示类型和值 通常用来做条件 列的值
${
} -----> 表示的就是一个普通字串 "asc" 通常是表名 列名 关键字
package dao;
import domain.User;
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 java.io.InputStream;
import java.util.ArrayList;
imp