学习了jdbc一段时间后感觉自己写一个简单的封装来试试,于是参考的一些资料就写了一下不是多好,毕竟刚学也不太久
首先写配置文件:直接在src下建立一个db.properties文件然后写上内容
<span style="font-size:18px;">MysqlDriver=com.mysql.jdbc.Driver MysqlURL=jdbc\:mysql\://localhost\:3306/one User=root Pwd=123456 </span>
之后再写一个类代码如下
<span style="font-size:18px;">package cn.java.ad; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; /** * 本例是写了一个小的封装 * 对jdbc的封装练习 * @author hello * @version jdk 1.8 */ public class ReadMain { static Properties pos=null;//设置静态的在加载类的时候只需要一次 static{ pos=new Properties(); //建立Peoperties用来读取配置文件 try {//下面是用来读取配置文件的 pos.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties")); } catch (IOException e) { e.printStackTrace(); } } public static Connection getcon(){//建立Connection连接 try { Class.forName(pos.getProperty("MysqlDriver"));//加载com.mysql.jdbc.Driver }catch (ClassNotFoundException e) { e.printStackTrace(); } try {//加载URL ,User,password return DriverManager.getConnection(pos.getProperty("MysqlURL"), pos.getProperty("User"),pos.getProperty("Pwd")); } catch (SQLException e) { e.printStackTrace(); } return null; } public static void Close(ResultSet rs,Statement st,Connection co){ try {//关闭数据库连接采用重载的方法便于封装 if(rs!=null) rs.close(); if(st!=null) st.close(); if(co!=null) co.close(); } catch (Exception e) { e.printStackTrace(); } } public static void Close(ResultSet rs,Connection co){ try {//关闭ResultSet Connection if(rs!=null) rs.close(); if(co!=null) co.close(); } catch (Exception e) { e.printStackTrace(); } } public static void Close(Connection co){ try { //关闭Connection if(co!=null) co.close(); } catch (Exception e) { e.printStackTrace(); } } } //程序结束</span>
之后写主类代码如下
<span style="font-size:18px;">package cn.java.ad; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; public class Main { public static void main(String[] args) { Connection con=null; ResultSet res=null; Statement sta=null; String sql=null; String name="李雷"; String sex="男"; PreparedStatement ps=null; try { con=ReadMain.getcon(); sql="insert into student(id,name,sex,phone)VALUES(1235,?,?,15896324131)"; ps=con.prepareStatement(sql);//获取sql语句 //在这里 the first parameter is 1, the second is 2, ... //x the parameter value //可以看出下标是从1开始的 ps.setString(1, name); //将对应的name插入数据表中 ps.setString(2, sex); //将对应的sex插入数据表中 ps.execute(); //执行sql语句并且没有返回值 System.out.println("插入成功"); } catch (Exception e) { e.printStackTrace(); } finally{ ReadMain.Close(res, sta, con); //依次关闭连接 } } } </span>
下面是两张图是建立db.properties的步骤
以上就是本文的全部内容,希望大家可以喜欢。
本文向大家介绍WebService 的简单封装接口调用方法,包括了WebService 的简单封装接口调用方法的使用技巧和注意事项,需要的朋友参考一下 此方法完成了简单WebService 的简单调用封装,实现了简单Webservice简单调用的统一操作,避免了每增加一个操作都必须增加一个接口方法 的囧状! 以上所述就是本文的全部内容了,希望大家能够喜欢。
学习OOP概念,特别对深入理解抽象和封装感兴趣。 已签出以下内容 抽象VS信息隐藏VS封装 抽象和封装之间的区别? 我发现如果没有一个真实的、简单的示例类/代码片段,很难理解这些概念。 我的一个同事说过,抽象就是创建抽象类和普通类,用作用域保护其成员变量,称为封装。 有没有一种简单的方法我可以理解并帮助别人理解他们到底是什么,而不是重复下面的内容? 抽象和封装是互补的概念:抽象关注对象的可观察行为
问题内容: 为了在我们的应用程序中实现数据访问代码,我们需要一些框架来包装jdbc(由于可伸缩性,所以我们不选择ORM)。 我曾经使用过的最酷的框架是Spring- Jdbc 。但是,我公司的政策是避免外部依赖,尤其是spring,J2EE等。因此,我们正在考虑编写自己的手工jdbc框架,其功能类似于Spring- jdbc:行映射,错误处理,支持Java5的功能,但没有交易支持。 有没有人有编写
问题内容: 我有一个项目,我们经常在其中将String转换为int。当出现问题时(例如,不是数字,而是字母,等等),此方法将引发异常。但是,如果我必须到处都处理代码中的异常,这很快就会变得非常难看。我想将其放在一个方法中,但是,我不知道如何返回一个干净的值以表明转换出错。 在C ++中,我可以创建一个方法,该方法接受一个指向int的指针,并让该方法本身返回true或false。但是,据我所知,这在
本文向大家介绍原生AJAX封装的简单实现,包括了原生AJAX封装的简单实现的使用技巧和注意事项,需要的朋友参考一下 回归下原生js,网上看到的AJAX封装,遂拿来改改,不知还有何弊端,望指出! 假设一个需求,后端要求传入两个数字n1、n2,然后返回总和。 当其中一个参数为空或者不是数字时,返回:{"status":"0", "msg":"参数有误!"} 当正确的时候,返回:{"status":"1
本文向大家介绍微信小程序wx.request的简单封装,包括了微信小程序wx.request的简单封装的使用技巧和注意事项,需要的朋友参考一下 这些天团队里开始做小程序开发了,之前没做过,都是第一次,第一次的感觉大家都懂的。周末看了一下小程序项目的代码,在网络请求上发现了一些小问题,最终没忍住想了点办法把request封装了一下。下面来看看吧。 看项目代码时发现了下面几点问题: 网络请求都写在Pa