时间:2021-07-01 10:21:17 帮助过:10人阅读
二、创建工具类
- <span style="color: #0000ff;">package</span><span style="color: #000000;"> cn.zhouzhou;
- </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.io.FileNotFoundException;
- </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.io.FileReader;
- </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.io.IOException;
- </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.net.URL;
- </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.sql.Connection;
- </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.sql.DriverManager;
- </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.sql.ResultSet;
- </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.sql.SQLException;
- </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.sql.Statement;
- </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.util.Properties;
- </span><span style="color: #008000;">/*</span><span style="color: #008000;">
- * jdbc2.0?
- *
- * 一、配置文件
- *
- 1.在SRC下创建文件 格式为properties jdbc.properties
- 2.写入
- url=jdbc:mysql:///qy66 注意【这里的qy66】 是自己的数据库中有的 库!
- use=root
- password=root
- driver=com.mysql.jdbc.Driver
- 3.好处?
- 这样写 可以直接在外部文件改变驱动、用户名、或是连接地址
- 二、获得路径的方式?
- 1.读取文件 Properties pro01=new Properties();
- 2.获取文件路径 ClassLoader class01=工具类存在硬编码问题.class.getClassLoader(); classloader()类加载器!
- 3.通过getPath(); 提供文件路径
- 4.load(Reader reader) 以简单的线性格式从输入字符流读取属性列表(关键字和元素对)
- 5.getProperty(String key) 使用此属性列表中指定的键搜索属性。
- 三、获取连接对象?
- 四、释放资源?
- </span><span style="color: #008000;">*/</span>
- <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> 工具类存在硬编码问题 {
- </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">static</span><span style="color: #000000;"> String driver;
- </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">static</span><span style="color: #000000;"> String url;
- </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">static</span><span style="color: #000000;"> String use;
- </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">static</span><span style="color: #000000;"> String password;
- </span><span style="color: #008000;">//</span><span style="color: #008000;">文件的读取?</span>
- <span style="color: #0000ff;">static</span><span style="color: #000000;">{
- </span><span style="color: #0000ff;">try</span><span style="color: #000000;"> {
- Properties pro01</span>=<span style="color: #0000ff;">new</span> Properties(); <span style="color: #008000;">//</span><span style="color: #008000;">读取文件?proerties</span>
- <span style="color: #000000;">
- ClassLoader class01</span>=工具类存在硬编码问题.<span style="color: #0000ff;">class</span>.getClassLoader();<span style="color: #008000;">//</span><span style="color: #008000;">获取SRC路径?classloader()类加载器! 作用 将class文件加载到jvm虚拟机中去,程序就可以正确运行了</span>
- <span style="color: #000000;">
- URL res</span>=class01.getResource("jdbc.properties"); <span style="color: #008000;">//</span><span style="color: #008000;">getResource? 获得SRC目录下的jdbc.properties文件</span>
- String path=res.getPath(); <span style="color: #008000;">//</span><span style="color: #008000;">getpath()? 提供文件路径</span>
- <span style="color: #000000;">
- pro01.load(</span><span style="color: #0000ff;">new</span><span style="color: #000000;"> FileReader(path));
- url</span>=pro01.getProperty("url"<span style="color: #000000;">);
- use</span>=pro01.getProperty("use"<span style="color: #000000;">);
- password</span>=pro01.getProperty("password"<span style="color: #000000;">);
- driver</span>=pro01.getProperty("driver"<span style="color: #000000;">);
- } </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (Exception e) {
- e.printStackTrace();
- }
- }
- </span><span style="color: #008000;">//</span><span style="color: #008000;">获取连接对象?</span>
- <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> Connection getConnection() <span style="color: #0000ff;">throws</span><span style="color: #000000;"> SQLException{
- </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> DriverManager.getConnection(url, use, password);
- }
- </span><span style="color: #008000;">//</span><span style="color: #008000;">释放资源?</span>
- <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> close(Statement stmt,Connection conn){
- </span><span style="color: #0000ff;">if</span> (stmt!=<span style="color: #0000ff;">null</span><span style="color: #000000;">) {
- </span><span style="color: #0000ff;">try</span><span style="color: #000000;"> {
- stmt.close();
- } </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (SQLException e) {
- e.printStackTrace();
- }
- }
- </span><span style="color: #0000ff;">if</span> (conn!=<span style="color: #0000ff;">null</span><span style="color: #000000;">) {
- </span><span style="color: #0000ff;">try</span><span style="color: #000000;"> {
- conn.close();
- } </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- </span><span style="color: #008000;">//</span><span style="color: #008000;">还要释放资源? 方法的重载。</span>
- <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> close(ResultSet rs,Statement stmt, Connection conn){
- </span><span style="color: #0000ff;">if</span> (rs!=<span style="color: #0000ff;">null</span><span style="color: #000000;">) {
- </span><span style="color: #0000ff;">try</span><span style="color: #000000;"> {
- rs.close();
- } </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (SQLException e) {
- e.printStackTrace();
- }
- }
- </span><span style="color: #0000ff;">if</span> (stmt!=<span style="color: #0000ff;">null</span><span style="color: #000000;">) {
- </span><span style="color: #0000ff;">try</span><span style="color: #000000;"> {
- stmt.close();
- } </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (SQLException e) {
- e.printStackTrace();
- }
- }
- </span><span style="color: #0000ff;">if</span> (conn!=<span style="color: #0000ff;">null</span><span style="color: #000000;">) {
- </span><span style="color: #0000ff;">try</span><span style="color: #000000;"> {
- conn.close();
- } </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- }</span>
三、测试类
- <span style="color: #0000ff;">package</span><span style="color: #000000;"> cn.zhouzhou;
- </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.sql.Connection;
- </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.sql.PreparedStatement;
- </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.sql.ResultSet;
- </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.sql.SQLException;
- </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.sql.Statement;
- </span><span style="color: #008000;">/*</span><span style="color: #008000;">
- * 测试?执行写的工具类?
- *
- </span><span style="color: #008000;">*/</span>
- <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> Text01 {
- </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span> main(String[] args) <span style="color: #0000ff;">throws</span><span style="color: #000000;"> SQLException {
- Connection con</span>=工具类存在硬编码问题.getConnection(); <span style="color: #008000;">//</span><span style="color: #008000;">1.注册</span>
- <span style="color: #000000;">
- String string</span>="select * from shop"; <span style="color: #008000;">//</span><span style="color: #008000;">2.查询</span>
- <span style="color: #000000;">
- PreparedStatement start</span>=con.prepareStatement(string); <span style="color: #008000;">//</span><span style="color: #008000;">3.设置 执行语句</span>
- <span style="color: #000000;">
- ResultSet rs</span>=<span style="color: #000000;">con.prepareStatement(string).executeQuery();
- </span><span style="color: #0000ff;">while</span><span style="color: #000000;"> (rs.next()) {
- System.out.println(rs.getInt(</span>1)+" "+rs.getString(2)+" "+rs.getDouble(3<span style="color: #000000;">));
- }
- Jdbc工具类.close(con, start, rs); </span><span style="color: #008000;">//</span><span style="color: #008000;">4.关闭资源</span>
- <span style="color: #000000;"> }
- </span><span style="color: #008000;">/*</span><span style="color: #008000;">
- * 输出结果!
- 2 打牌支出 200.0
- 3 衣服支出 100.0
- 4 工资收入 200100.0
- 5 商品收入 2000.0
- 6 张三 2000.0
- 7 工资收入 0.0
- 12 003 5000.0
- * </span><span style="color: #008000;">*/</span><span style="color: #000000;">
- }</span>
jdbc工具类2..0
标签:工具 query 商品 直接 out 对象 package sys stat