- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java jdbc 分页、元数据分析
分页、元数据分析
表之间的关联的级联关系
不设置 – 默认。当删除主表中的数据时,如果子表中已经引用了主表中的数据,(主外键引用),则主表中的数据不能删除。
级联删除,会级联删除所有关联数据。
设置数据删除缓存的引用,会把关联表的该外键设为null。
条件查询
public class ContactDao {
// 查询所有联系人
public ListContact query2(Contact con) {
ListContact list = null;
QueryRunner run = new QueryRunner(DataSouceUtils.getDataSource());
// 1:先声明sql
StringBuilder sql = new StringBuilder(select * from contacts where 1=1);
//声明一个参数列表
ListObject params = new ArrayListObject();
// 2:判断如果con的名称有值
if (con.getName() != null !con.getName().trim().equals()) {
sql.append( and name like ?);
params.add(%+con.getName()+%);
}
if (con.getSex() != null !con.getSex().trim().equals()) {
sql.append( and sex=?);
params.add(con.getSex());
}
if(con.getStart()!=null){
sql.append( and age=?);
params.add(con.getStart());
}
if(con.getEnd()!=null){
sql.append( and age=?);
params.add(con.getEnd());
}
if(con.getAddr()!=null !con.getAddr().trim().equals()){
sql.append( and addr like ?);
params.add(%+con.getAddr()+%);
}
list = run.query(sql.toString(),
new BeanListHandlerContact(Contact.class),params.toArray());
return list;
}
}
用dbutils管理事务
定义
事务是指用户的操作只有一种结果,成功或是失败。
如何来管理数据库事务
try {
// 开启事务
connection.setAutoCommit(false);
// ...
// 提交
mit();
} catch (Exception e) {
// 回滚
connection.rollback();
} finally {
// 将自动提交状态设置为原状态
connection.setAutoCommit(true);
// 归还连接
connection.close();
}
什么时候用事务
对一个表进行多次 insert, update, delete
对多个表进行 insert, update, delete
管理事务的关键点
在多次操作同一个表,或是操作多个表,必须要使用同一个连接
正常操作,对一个表执行两次insert
在dbutils中所有方法可以直接接收一个sql去执行,也可以接收一个connection连接。
示例:事务的代码操作
分页
简单分页代码示例
public class QuerySerlvet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//定义每页显示多少行
int pageSize = 10;
//1:获取用户相看第几页
String _p = request.getParameter(page);
if(_p==null){
_p=1;
}
//2:计算开始值
int currentPage = Integer.parseInt(_p);
原创力文档


文档评论(0)