关于SQL语句和变量的组合问题

Hibernate链接数据库

1.直接连接 代码如下

 

String user = "admin";
Query q = session.createQuery("from Users u where u.username='" + user + "'");


2.使用占位符 ?或者: 代码如下

 

Query q = session.createQuery("from Users u where u.username=?");
q.setParameter(0, "admin");
//占位符是从0开始的

 

区别下和JDBC占位符的区别

方法1没有区别

方法2占位符的起始位置不同

String sql = "select * from books where user = ?";
		PreparedStatement stm;
		try {
			stm = conn.prepareStatement(sql);
		
			stm.setString(1, user); ">//占位符是从1开始的
			ResultSet rs = stm.executeQuery();
			while(rs.next()){
				Book book = new Book();
				book.setBookName(rs.getString("bookname"));
				book.setUser(rs.getString("user"));
				books.add(book);
			}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
		}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值