JDBC连接数据库步骤一.加载驱动
我们提供的服务有:成都做网站、网站设计、微信公众号开发、网站优化、网站认证、竹山ssl等。为成百上千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的竹山网站制作公司
导入jar包
Class.forName("driver")
作用:不只是创建一个类的Class对象,它加载了整相关程序的类。
JDBC连接数据库步骤二.获取连接对象
Connectioncon=DriverManager.getConnection(url,user,pwd)
url:告诉数据库的位置
JDBC连接数据库步骤三.创建语句对象,执行SQL
增删改
返回影响所有行
非查询
- Statement:
- Statementst=con.CreateStatement()
- inti=st.executeUpdate(sql)
下标从一开始
- inti=st.executeUpdate(sql);
- PreparedStatement:
- PreparedStatementps=con.PreparedStatement("sql语句")
- ps.setXXX(n,值)
对第n个?进行赋值
区别
用st的好处
在动态组装SQL时,指动态产生要执行SQL语句
用pst的好处
更好维护
避免SQL注入
效率更高
扩展
用JDBC的批处理(BATCH)可以提高效率
用ResultSetMetadata可以获取列的信息(个数,名称)
查询
- resultsetrs=pst.executePuery()
- while(rs.net())
- Stringstr=rs.getString(列的位置,列的名称)
JDBC连接数据库步骤四.关闭
顺序
- ifrs!=nullrs.close();
- pst.close();
- con.close();
具体实例:
- privatefinalStringURL="jdbc:mysql://localhost:3306/db";
- privatefinalStringFINDALL="select*fromdept";
- privateConnectioncon;
- privatePreparedStatementps;
- privateResultSetrs;
- //查询
- publicListfindAll(){
- Listlist=newArrayList();
- try{
- Class.forName("com.mysql.jdbc.Driver");
- con=DriverManager.getConnection(URL,"root","123");
- ps=con.prepareStatement(FINDALL);
- rs=ps.executeQuery();
- while(rs.next()){
- DeptDTOdto=newDeptDTO();
- dto.setDeptId(rs.getInt("deptId"));
- dto.setName(rs.getString("depName"));
- dto.setPhone(rs.getString("phone"));
- System.out.println(dto.getDeptId()+""+dto.getName()+""+dto.getPhone());
- list.add(dto);
- }
- con.close();
- }catch(ClassNotFoundExceptione){
- //TODOAuto-generatedcatchblock
- e.printStackTrace();
- }catch(SQLExceptione){
- //TODOAuto-generatedcatchblock
- e.printStackTrace();
- }
- returnlist;
- }
- //添加,添加中关闭连接的方法相比查询中的关闭方法更好一些
- publicvoidadd(DeptDTOdto){
- try{
- Class.forName("com.jdbc.mysql.Driver");
- con=DriverManager.getConnection("jdbc:mysql://localhost:3306/db","root","123");
- ps=con.prepareStatement("insertintodept(deptId,depName,phone)values(?,?,?)");
- ps.setInt(1,dto.getDeptId());
- ps.setString(2,dto.getName());
- ps.setString(3,dto.getPhone());
- ps.execute();
- }catch(ClassNotFoundExceptione){
- //TODOAuto-generatedcatchblock
- e.printStackTrace();
- }catch(SQLExceptione){
- //TODOAuto-generatedcatchblock
- e.printStackTrace();
- }
- finally{
- try{
- if(con!=null&&!con.isClosed()){
- con.close();
- }
- }catch(SQLExceptione){
- //TODOAuto-generatedcatchblock
- e.printStackTrace();
- }
- }
- }
- le.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
- atoracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
- atjava.sql.DriverManager.getConnection(UnknownSource)
- atjava.sql.DriverManager.getConnection(UnknownSource)
- attool.DbConnect.getConnect(DbConnect.java:45)
- attool.DbConnect.main(DbConnect.java:54)
网页标题:浅谈JDBC连接数据库步骤
文章网址:http://www.csdahua.cn/qtweb/news39/403289.html
成都网站优化推广公司_创新互联,为您提供营销型网站建设、ChatGPT、自适应网站、微信公众号、建站公司、标签优化
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网