当前位置:首页 > 学习笔记 > 正文内容

优化jdbc的代码 面向对象思想

廖万里3年前 (2022-09-09)学习笔记41216

封装父类  BaseDao

3.1 三个属性

//属性

protected Connection conn;

protected PreparedStatement pstm;

protected ResultSet rs;

3.2 四个方法

//方法

public void openDB(){

//1 开库

try {

Class.forName("com.mysql.jdbc.Driver");

 conn=DriverManager.

getConnection("jdbc:mysql://localhost:3306/my105","root","123456");

catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("开错误");

}


}

public void closeDB(){


try {

if(rs!=null){

rs.close();

}

if(pstm!=null){

pstm.close();

}

if(conn!=null){

conn.close();

}


catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("关错误");

}


}


//增删 改     INSERT INTO student( sname,age) VALUES(?,?)

//可变参数  object[]

public int myUpdate(String sql,

Object... os){

int n=0;

try {

//1 开库

openDB();

//2

pstm=conn.prepareStatement(sql);


if(os!=null){//sql有? 

for(int i=0;i<os.length;i++){

pstm.setObject(i+1, os[i]);

}

}

//3 执行

 n=pstm.executeUpdate();


catch (Exception e) {

// TODO: handle exception

e.printStackTrace();//一定有异常打印

}finally{

//4 必须关闭数据库

closeDB();

}


return n;

}



public ResultSet mySelect(String sql,Object... os){


try {

//1

openDB();

//2

pstm=conn.prepareStatement(sql);

if(os!=null){//sql有? 

for(int i=0;i<os.length;i++){

pstm.setObject(i+1, os[i]);

}

}

//3 

rs=pstm.executeQuery();


catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}finally{

//2

//closeDB();

}


return rs;


}

 4 实体类 

Jdbc  操作  

实体类   数据表相同的

类名=表名

类的属性和表的列要一模一样 名称 和类型一样 

类的所有属性private  .封装get/set   shift+alt+s  

 

 

作用

查询的时候,把查询的结果 封装到 实体类的集合中

 5 表的子类


本文链接:https://www.kkkliao.cn/?id=10 转载需授权!

分享到:

版权声明:本文由廖万里的博客发布,如需转载请注明出处。


“优化jdbc的代码 面向对象思想 ” 的相关文章

java web js验证表单(不通过不提交后台)

java web js验证表单(不通过不提交后台)

Register.htmlform表单提交时什么也不填,从前台取到后台是空,不是null通过document的submit()方法<html>   <head>   <meta charset = ...

有人给你发了匿名短信

有人给你发了匿名短信

【匿名短信】终于和大家见面了!每个人的心中,应该都会有一些忘不了的人或事!也许是遗憾的,是痛苦的,亦或是开心的,是幸福的...但最让你忘不了的,还是那个陪你创造回忆的TA...现在的你们,也许断了联系,没了交谈,但心里时不时却还会念着对方...【匿名短信】的上线,就是为了帮助你去和心中的Ta对话只需...

Python所有的库都在这里了!!强烈建议收藏

Python所有的库都在这里了!!强烈建议收藏

前言嗨喽,大家好呀~又到了学Python时刻~随着大数据和人工智能的发展,Python也与多种科技深深绑定。比如自动化测试,运维,爬虫,数据分析,机器学习,金融领域,后端开发,云计算,游戏开发都有涉及。万丈高楼平地起,Python这座大厦能够如此强大,就是拥有强大的成千上万的库的支持无数牛x的轮子在...

万策云网络工作室旗下高性能服务器,保证用户数据安全

万策云网络工作室旗下高性能服务器,保证用户数据安全

万策云工作室旗下所有业务均使用1T高防高性能服务器,数据定时备份,多台服务器实时同步数据,保障用户数据安全!多台服务器定时备份,企业级安全,50m独享,大带宽抗cc文件实时同步备份,数据库定时备份。主服务器采用T级群防,150G单机防御的国内高性能服务器。秒解机器!真实可测客户数据丢了都可以找回来...

MyBatis-写分页的几种方法,怎么写分页最简单

MyBatis-写分页的几种方法,怎么写分页最简单

1、就是直接使用我们的SQL语句进行分页,也就是在Mapper里面加上分页的语句就好了。比如MySQL添加一个limit 2,4。这种方式弊端很大,比如我们不用MySQL了,所有的代码都要修改。2、MyBatis中的分页的插件PageHelper,3、自己手写分页框架。这种用的比较少,不是说写不出来...

在mybatis中使用mysql存储过程-教学

在mybatis中使用mysql存储过程-教学

mysql  存储过程 ,教程来源:廖万里的CSDNMysql中的方法, 好处:安全,复用。缺点:不利于修改。1,将以下储存过程代码复制到mysql数据库中进行执行DELIMITER ;;CREATE DEFINER=`root`@`localhost`&nb...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。