NamedJdbcTemplate 例子

本文详细介绍了如何利用NamedJdbcTemplate类在Java中执行参数化的SQL查询,包括添加用户、查找用户等操作。
public class NamedJdbcTemplate {
	static NamedParameterJdbcTemplate named = new NamedParameterJdbcTemplate(
			JdbcUtils.getDataSource());

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		User user = new User();
		user.setMoney(10);
		user.setId(2);
		System.out.println(findUser1(user));
	}

	static void addUser(User user) {
		String sql = "insert into user(name,birthday, money) values (:name,:birthday,:money) ";
		SqlParameterSource ps = new BeanPropertySqlParameterSource(user);
		KeyHolder keyHolder = new GeneratedKeyHolder();
		named.update(sql, ps, keyHolder);
		int id = keyHolder.getKey().intValue();
		user.setId(id);
		
		Map map = keyHolder.getKeys();
	}

	static User findUser(User user) {
		String sql = "select id, name, money, birthday  from user "
				+ "where money > :m and id < :id";
		Map params = new HashMap();
		// params.put("n", user.getName());
		params.put("m", user.getMoney());
		params.put("id", user.getId());
		Object u = named.queryForObject(sql, params, new BeanPropertyRowMapper(
				User.class));
		return (User) u;
	}

	static User findUser1(User user) {
		String sql = "select id, name, money, birthday  from user "
				+ "where money > :money and id < :id";
		SqlParameterSource ps = new BeanPropertySqlParameterSource(user);
		Object u = named.queryForObject(sql, ps, new BeanPropertyRowMapper(
				User.class));
		return (User) u;
	}

}

 

public class TBUSSLD { /** * 项目部号 */ private String xmbCode; /** * 次号 */ private Integer xmbNum; /** * 结算期 */ private String sysJsq; /** * 单据编号 */ private String sldDjbh; /** * 物资分类 */ private String gsflCode; /** * 分类名称 */ private String gsflName; /** * 预验标志 */ private String sldYybz; /** * Sld Dkbz */ private String sldDkbz; /** * Sld Yfbz */ private String sldYfbz; /** * 发生日期 */ private Date sldFsrq; /** * 单据状态 */ private String sldDjzt; /** * 记账日期 */ private Date sldJzrq; /** * 记账人 */ private String sldJzr; /** * 仓库编号 */ private String ckCode; /** * 仓库名称 */ private String ckName; /** * 供应方式编号 */ private String gyfsCode; /** * 供应方式名称 */ private String gyfsName; /** * 对方项目部号 */ private String dfxmbCode; /** * 对方调拨单号 */ private String dfdbdCode; /** * 供应商编号 */ private String gysCode; /** * 供应商名称 */ private String gysName; /** * 供应合同号 */ private String gyhtCode; /** * 来料凭证名称 */ private String sldLlpzmc; /** * 来料凭证编号 */ private String sldLlpzbh; /** * Sld Fdjsl */ private String sldFdjsl; /** * 送检标志 */ private String sldSjbz; /** * Sjd Djbh */ private String sjdDjbh; /** * 招标标准 */ private String sldZbbz; /** * 招标类型 */ private String zblxCode; /** * 招标类型名称 */ private String zblxName; /** * 采购员 */ private String sldCgy; /** * 收料员 */ private String sldSlr; /** * 操作员 */ private String sldCzy; /** * 操作时间 */ private Date sldCzsj; /** * 备注 */ private String sldMemo; /** * Sys Autoup */ private String sysAutoup; } 将 return namedJdbcTemplate.query(sql, params, new RowMapper<TBUSSLD>() { @Override public TBUSSLD mapRow(ResultSet rs, int rowNum) throws SQLException { TBUSSLD entity = new TBUSSLD(); entity.setSldDjbh(rs.getString("SLD_DJBH")); // 映射其他字段... return entity; }补充完整
07-31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值