MyException - 我的异常网
当前位置:我的异常网» 数据库 » JDBC-01

JDBC-01

www.MyException.Cn  网友分享于:2013-10-27  浏览:0次
JDBC--01

jdbc(mysql)配置文件
文件名:database.properties
以下为配置文件里所写的信息:

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/6521?useUnicode=true&characterEncoding=utf8
user=root
password=root
?useUnicode=true&characterEncoding=utf8此为设置编码。注意mysql设置为utf-8时写的是utf8。
注意,配置文件中不要有空格!
  1 JDBC加载工具类方式一:
  2 package com.it.JDBC;
  3 import java.sql.Connection;
  4 import java.sql.DriverManager;
  5 import java.sql.PreparedStatement;
  6 import java.sql.ResultSet;
  7 import java.sql.SQLException;
  8 import java.util.ResourceBundle;
  9 
 10 public class JDBCUtils_V1 {
 11     private static String driver = null;
 12     private static String url = null;
 13     private static String user = null;
 14     private static String password = null;
 15 
 16     /**
 17      * @author Payphone
 18      * @time 2017-10-01 加载配置信息
 19      * */
 20     static {
 21         ResourceBundle bundle = ResourceBundle.getBundle("database");
 22         driver = bundle.getString("driver");
 23         url = bundle.getString("url");
 24         user = bundle.getString("user");
 25         password = bundle.getString("password");
 26     }
 27 
 28     /**
 29      * @time 2017-10-01
 30      * @author Payphone连接数据库
 31      * */
 32     public static Connection getConnection() {
 33         Connection conn = null;
 34         try {
 35             // 1 加载驱动
 36             Class.forName(driver);
 37             // 2获得连接
 38             conn = DriverManager.getConnection(url, user, password);
 39             if (conn != null) {
 40                 System.out.println("连接成功");
 41             } else {
 42                 System.out.println("失败了");
 43             }
 44         } catch (Exception e) {
 45             e.printStackTrace();
 46         }
 47         return conn;
 48     }
 49 
 50     /**
 51      * @author Payphone释放资源
 52      * @time 2017-10-01
 53      * */
 54     public static void Release(Connection conn, PreparedStatement psmt,
 55             ResultSet rs) {
 56         try {
 57             if (rs != null) {
 58                 conn.close();
 59             }
 60             if (psmt != null) {
 61                 psmt.close();
 62             }
 63             if (conn != null) {
 64                 conn.close();
 65             }
 66             System.out.println("释放资源成功");
 67         } catch (SQLException e) {
 68             e.printStackTrace();
 69         }
 70 
 71     }
 72 }
 73 
 74 JDBC加载工具类方式二:
 75 package com.it.JDBC;
 76 import java.io.IOException;
 77 import java.io.InputStream;
 78 import java.sql.Connection;
 79 import java.sql.DriverManager;
 80 import java.sql.PreparedStatement;
 81 import java.sql.ResultSet;
 82 import java.sql.SQLException;
 83 import java.util.Properties;
 84 import org.junit.Test;
 85 
 86 public class JDBCUtils_V2 {
 87     private static String driver = null;
 88     private static String url = null;
 89     private static String user = null;
 90     private static String password = null;
 91 
 92     /**
 93      * @author Payphone
 94      * @time 2017-10-01 加载配置信息
 95      * */
 96     static {
 97         try {
 98             // 1.通过当前类获取类加载器
 99             ClassLoader classLoader = JDBCUtils_V2.class.getClassLoader();
100             // 2.通过类加载器的方法获得一个输入流
101             InputStream is = classLoader
102                     .getResourceAsStream("database.properties");
103             // 3.创建一个properties对象
104             Properties props = new Properties();
105             // 4.加载输入流
106             props.load(is);
107             // 5.获取相关参数的值
108             driver = props.getProperty("driver");
109             url = props.getProperty("url");
110             user = props.getProperty("user");
111             password = props.getProperty("password");
112         } catch (IOException e) {
113             // TODO Auto-generated catch block
114             e.printStackTrace();
115         }
116         
117 
118     }
119 
120     /**
121      * @time 2017-10-01
122      * @author Payphone连接数据库
123      * */
124     @Test
125     public static Connection getConnection() {
126         Connection conn = null;
127         try {
128             // 1 加载驱动
129             Class.forName(driver);
130             // 2获得连接
131             conn = DriverManager.getConnection(url, user, password);
132             if (conn != null) {
133                 System.out.println("连接成功");
134             } else {
135                 System.out.println("失败了");
136             }
137         } catch (Exception e) {
138             e.printStackTrace();
139         }
140         return conn;
141     }
142 
143     /**
144      * @author Payphone释放资源
145      * @time 2017-10-01
146      * */
147     public static void Release(Connection conn, PreparedStatement psmt,
148             ResultSet rs) {
149         try {
150             if (rs != null) {
151                 conn.close();
152             }
153             if (psmt != null) {
154                 psmt.close();
155             }
156             if (conn != null) {
157                 conn.close();
158             }
159             System.out.println("释放资源成功");
160         } catch (SQLException e) {
161             e.printStackTrace();
162         }
163 
164     }
165 }
166 
167 JDCB测试类(测试用的junit):
168 package com.it.JDBC;
169 import java.sql.Connection;
170 import java.sql.PreparedStatement;
171 import java.sql.ResultSet;
172 import java.sql.SQLException;
173 import org.junit.Test;
174 
175 /**
176  * @author Payphone
177  * @version 1.0
178  * @描述 数据库操作工具类,主要进行增删改查
179  */
180 public class JDBCUtilsTest {
181     Connection conn = null;
182     PreparedStatement psmt = null;
183     ResultSet rs = null;
184     String sql = null;
185 
186     /**
187      * @author Payphone
188      * @version 1.0
189      * @描述 根据id查找用户信息
190      */
191     @Test
192     public void findById() {
193         try {
194             // 1 获取连接
195             conn = JDBCUtils_V2.getConnection();
196             sql = "select * from t_user where id=?";
197             psmt = conn.prepareStatement(sql);
198             psmt.setInt(1, 2015008);
199             rs = psmt.executeQuery();
200             while (rs.next()) {
201                 System.out.println(rs.getString("id") + ":"
202                         + rs.getString("pwd"));
203             }
204         } catch (SQLException e) {
205             // TODO Auto-generated catch block
206             e.printStackTrace();
207         } finally {
208             JDBCUtils_V2.Release(conn, psmt, rs);
209         }
210     }
211 
212     /**
213      * 插入用户信息
214      */
215     @Test
216     public void insertMessage() {
217         try {
218             conn = JDBCUtils_V1.getConnection();
219             sql = "insert into t_user(id,pwd) values(?,?)";
220             PreparedStatement psmt = conn.prepareStatement(sql);
221             psmt.setInt(1, 2015002);
222             psmt.setString(2, "2015002");
223             int rs = psmt.executeUpdate();
224             if (rs > 0) {
225                 System.out.println("插入成功!");
226             }
227         } catch (SQLException e) {
228             System.out.println("插入失败,数据重复了!");
229             e.printStackTrace();
230         } finally {
231             JDBCUtils_V1.Release(conn, psmt, null);
232         }
233     }
234 
235     /**
236      * 更新用户的信息
237      * */
238     @Test
239     public void updateMessage() {
240         try {
241             conn = JDBCUtils_V1.getConnection();
242             sql = "update t_user set pwd=? where id=?";
243             psmt = conn.prepareStatement(sql);
244             psmt.setString(1, "LH");
245             psmt.setInt(2, 2015002);
246             int r = psmt.executeUpdate();
247             if (r > 0) {
248                 System.out.println("密码修改成功" + ":");
249             }
250         } catch (SQLException e) {
251             System.out.println("密码修改失败!");
252             e.printStackTrace();
253         } finally {
254             JDBCUtils_V1.Release(conn, psmt, null);
255         }
256     }
257 
258     /**
259      * 根据用户id删除信息
260      * */
261     @Test
262     public void deleteById() {
263         try {
264             conn = JDBCUtils_V1.getConnection();
265             sql = "delete from t_user where id=?";
266             psmt = conn.prepareStatement(sql);
267             psmt.setInt(1, 2015002);
268             int r = psmt.executeUpdate();
269             if(r>0){
270                 System.out.println("删除成功");
271             }
272         } catch (SQLException e) {
273             System.out.println("删除失败");
274             e.printStackTrace();
275         } finally {
276             JDBCUtils_V1.Release(conn, psmt, null);
277         }
278     }
279 }

第二篇JDBC的将推送JDBC连接池的。

 

文章评论

Java程序员必看电影
Java程序员必看电影
鲜为人知的编程真相
鲜为人知的编程真相
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
每天工作4小时的程序员
每天工作4小时的程序员
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
代码女神横空出世
代码女神横空出世
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
程序员应该关注的一些事儿
程序员应该关注的一些事儿
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
那些争议最大的编程观点
那些争议最大的编程观点
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
程序员必看的十大电影
程序员必看的十大电影
旅行,写作,编程
旅行,写作,编程
程序员和编码员之间的区别
程序员和编码员之间的区别
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
老程序员的下场
老程序员的下场
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
为什么程序员都是夜猫子
为什么程序员都是夜猫子
如何成为一名黑客
如何成为一名黑客
编程语言是女人
编程语言是女人
 程序员的样子
程序员的样子
漫画:程序员的工作
漫画:程序员的工作
中美印日四国程序员比较
中美印日四国程序员比较
程序员都该阅读的书
程序员都该阅读的书
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
我是如何打败拖延症的
我是如何打败拖延症的
我的丈夫是个程序员
我的丈夫是个程序员
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
一个程序员的时间管理
一个程序员的时间管理
程序员的鄙视链
程序员的鄙视链
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有