求助,ibatis动态表及参数传入
网上看到这么一个帖子http://blog.csdn.net/a9529lty/article/details/6000726
内容如下:
Java code :
// just a releation to the table stored in db
public class Test {
public String name;
public Timestamp date;
public int id;
}
public class TestInsert {
// logger class you can replace it to System.out.println
static Log logger = LogFactory.getLog(TestInsert.class);
public static void main(String[] args) {
/*
* Test test = new Test(); test.date = new
* Timestamp(System.currentTimeMillis()); test.name = "fffff"; try {
* long num = (Long) EntityManager.getSqlMapper().insertArgs(
* "insertOperation", "fffff", new
* Timestamp(System.currentTimeMillis())); logger.info("ID is " + num);
* } catch (SQLException e) { e.printStackTrace(); }
*/
// try the dynamic table dealation
HashMap<String, Object> map = new HashMap<String, Object>();
// set the query value
map.put("ID", "dizhuang");
// set the col1 to be selected
map.put("col1", "*");
// set the table name
map.put("tablePrefix", "testsocevent");
// set the col name which you use
map.put("col2", "NAME");
// map.put("ID", 1000);
// map.put("id", "1005");
try {
// why args is error?
Test test = (Test) EntityManager.getSqlMapper().queryForObject(
"getTest", map);
logger.info("id : " + test.id);
logger.info("time :" + test.date);
logger.info("name : " + test.name);
} catch (SQLException e) {
logger.error(e.getMessage(), e);
// e.printStackTrace();
}
}
// ibatis sql
<select id="getTest" parameterClass="java.util.HashMap"
resultClass="com.neusoft.soc.eventcenter.test.Test"
remapResults="true">
SELECT
$col1$
FROM
$tablePrefix$
WHERE
$col2$ = #ID#
</select>
如果我的map里面value是一个对象,如:
public class User{
private int id;
private String name;
}
那么Ibatis的sql怎么写呢?
如果是value是List<User> users;
那么Ibatis的sql怎么写呢?
谢谢!