Advertisement
Guest User

Untitled

a guest
Apr 12th, 2017
1,605
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.89 KB | None | 0 0
  1. public class JdbcUtils {
  2. private static String driver = null;
  3. private static String url = null;
  4. private static String username = null;
  5. private static String password = null;
  6.  
  7. static{
  8. try{
  9. InputStream in = JdbcUtils.class.getClassLoader().getResourceAsStream("db.properties");
  10. Properties prop = new Properties();
  11. prop.load(in);
  12.  
  13. driver = prop.getProperty("driver");
  14. url = prop.getProperty("url");
  15. username = prop.getProperty("username");
  16. password = prop.getProperty("password");
  17. Class.forName(driver);
  18.  
  19. }catch (Exception e) {
  20. e.printStackTrace();
  21. throw new ExceptionInInitializerError(e);
  22. }
  23. }
  24. public static Connection getConnection() throws SQLException{
  25. return DriverManager.getConnection(url, username,password);
  26. }
  27. public static void release(Connection conn,Statement st,ResultSet rs){
  28. if(rs!=null){
  29. try{
  30. rs.close();
  31. }catch (Exception e) {
  32. e.printStackTrace();
  33. }
  34. rs = null;
  35. }
  36. if(st!=null){
  37. try{
  38. st.close();
  39. }catch (Exception e) {
  40. e.printStackTrace();
  41. }
  42. }
  43.  
  44. if(conn!=null){
  45. try{
  46. conn.close();
  47. }catch (Exception e) {
  48. e.printStackTrace();
  49. }
  50. }
  51. }
  52. }
  53.  
  54. public class JdbcCRUDByPreparedStatement {
  55. @Test
  56. public void insert(){
  57. Connection conn = null;
  58. PreparedStatement st = null;
  59. ResultSet rs = null;
  60. try{
  61. conn = JdbcUtils.getConnection();
  62. String sql = "insert into users(id,name,password,email,school,authority,technical,telenumber) values(?,?,?,?,?,?,?,?)";
  63. st = conn.prepareStatement(sql);
  64. st.setInt(1, 1);
  65. st.setString(2, "xiaoming");
  66. st.setString(3, "root");
  67. st.setString(4, "939712464@qq.com");
  68. st.setString(5, "nanjing");
  69. st.setInt(6, 0);
  70. st.setString(7, "javaweb");
  71. st.setInt(8, 123456);
  72. int num = st.executeUpdate();
  73. if(num>0){
  74. System.out.println("insert success!");
  75. }
  76.  
  77. }catch (Exception e) {
  78. e.printStackTrace();
  79. }finally{
  80. //SQL执行完成之后释放相关资源
  81. JdbcUtils.release(conn, st, rs);
  82. }
  83. }
  84.  
  85. @Test
  86. public void delete(){
  87. Connection conn = null;
  88. PreparedStatement st = null;
  89. ResultSet rs = null;
  90. try{
  91. conn = JdbcUtils.getConnection();
  92. String sql = "delete from users where id=?";
  93. st = conn.prepareStatement(sql);
  94. st.setInt(1, 1);
  95. int num = st.executeUpdate();
  96. if(num>0){
  97. System.out.println("delete success");
  98. }
  99. }catch (Exception e) {
  100. e.printStackTrace();
  101. }finally{
  102. JdbcUtils.release(conn, st, rs);
  103. }
  104. }
  105.  
  106. @Test
  107. public void update(){
  108. Connection conn = null;
  109. PreparedStatement st = null;
  110. ResultSet rs = null;
  111. try{
  112. conn = JdbcUtils.getConnection();
  113. String sql = "update users set name=?,email=? where id=?";
  114. st = conn.prepareStatement(sql);
  115. st.setString(1, "gacl");
  116. st.setString(2, "gacl@sina.com");
  117. st.setInt(3, 2);
  118. int num = st.executeUpdate();
  119. if(num>0){
  120. System.out.println("update success!");
  121. }
  122. }catch (Exception e) {
  123. e.printStackTrace();
  124.  
  125. }finally{
  126. JdbcUtils.release(conn, st, rs);
  127. }
  128. }
  129.  
  130. @Test
  131. public void find(){
  132. Connection conn = null;
  133. PreparedStatement st = null;
  134. ResultSet rs = null;
  135. try{
  136. conn = JdbcUtils.getConnection();
  137. String sql = "select * from users where id=?";
  138. st = conn.prepareStatement(sql);
  139. st.setInt(1, 1);
  140. rs = st.executeQuery();
  141. if(rs.next()){
  142. System.out.println(rs.getString("name"));
  143. }
  144. }catch (Exception e) {
  145.  
  146. }finally{
  147. JdbcUtils.release(conn, st, rs);
  148. }
  149. }
  150. }
  151.  
  152. java.lang.NullPointerException
  153. at java.util.Properties$LineReader.readLine(Properties.java:434)
  154. at java.util.Properties.load0(Properties.java:353)
  155. at java.util.Properties.load(Properties.java:341)
  156. at me.gacl.util.JdbcUtils.<clinit>(JdbcUtils.java:22)
  157. at me.gacl.jdbc.JdbcCRUDByPreparedStatement.delete(JdbcCRUDByPreparedStatement.java:54)
  158. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  159. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  160. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  161. at java.lang.reflect.Method.invoke(Method.java:606)
  162. at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
  163. at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
  164. at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
  165. at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
  166. at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
  167. at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
  168. at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
  169. at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
  170. at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
  171. at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
  172. at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
  173. at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
  174. at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
  175. at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
  176. at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
  177. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
  178. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
  179. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
  180. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement