JDBC
时间:2021-07-01 10:21:17
帮助过:4人阅读
package cn.neusoft.util;
2
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
9 public class Dbutils {
10 private static final String driver="com.mysql.jdbc.Driver"
;
11 private static final String url="jdbc:mysql://localhost:3306/shopping"
;
12 private static final String name="root"
;
13 private static final String pwd="root"
;
14
15 private static Connection con=
null;
16 private static PreparedStatement ps=
null;
17 private static ResultSet rs=
null;
18 //加载驱动
19 static{
20 try {
21 Class.forName(driver);
22 }
catch (ClassNotFoundException e) {
23 // TODO Auto-generated catch block
24 e.printStackTrace();
25 }
26 }
27 //获取连接
28 private static void getConnection(){
29 try {
30 con=
DriverManager.getConnection(url,name,pwd);
31 }
catch (SQLException e) {
32 // TODO Auto-generated catch block
33 e.printStackTrace();
34 }
35 }
36 //关闭所有连接
37 private static void closeAll(){
38 if(
null!=
rs){
39 try {
40 rs.close();
41 }
catch (SQLException e) {
42 // TODO Auto-generated catch block
43 e.printStackTrace();
44 }
45 }
46
47 if(
null!=
ps){
48 try {
49 ps.close();
50 }
catch (SQLException e) {
51 // TODO Auto-generated catch block
52 e.printStackTrace();
53 }
54 }
55
56 if(
null!=
con){
57 try {
58 con.close();
59 }
catch (SQLException e) {
60 // TODO Auto-generated catch block
61 e.printStackTrace();
62 }
63 }
64 }
65
66 //查询公用方法
67 public static ResultSet executeQuery(String sql,Object[] obj){
68 getConnection();
69 try {
70 ps=
con.prepareStatement(sql);
71 if(
null!=
obj){
72 for(
int i=0;i<obj.length;i++
){
73 ps.setObject(i+1
, obj[i]);
74 }
75 }
76 rs=
ps.executeQuery();
77 }
catch (SQLException e) {
78 // TODO Auto-generated catch block
79 e.printStackTrace();
80 }
finally{
81 closeAll();
82 }
83 return rs;
84 }
85
86 //增删改公用方法
87 public static int executeUpdate(String sql,Object[] obj){
88 int count=0
;
89 getConnection();
90 try {
91 ps=
con.prepareStatement(sql);
92 if(
null!=
obj){
93 for(
int i=0;i<obj.length;i++
){
94 ps.setObject(i+1
, obj[i]);
95 }
96 }
97 count=
ps.executeUpdate();
98 }
catch (SQLException e) {
99 // TODO Auto-generated catch block
100 e.printStackTrace();
101 }
finally{
102 closeAll();
103 }
104 return count;
105 }
106 }
Dbutils
2.编写测试model,dao和daoimpl
1 package cn.neusoft.test;
2
3 public class User {
4
5 public String uname;
6
7 public String pwd;
8
9 public String getUname() {
10 return uname;
11 }
12
13 public void setUname(String uname) {
14 this.uname = uname;
15 }
16
17 public String getPwd() {
18 return pwd;
19 }
20
21 public void setPwd(String pwd) {
22 this.pwd = pwd;
23 }
24
25 public User(String uname, String pwd) {
26 super();
27 this.uname = uname;
28 this.pwd = pwd;
29 }
30
31 public User() {
32 super();
33 }
34
35 }
User
1 package cn.neusoft.test;
2
3 public interface UserDao {
4 public int addUser(User user);
5 }
UserDao
1 package cn.neusoft.test;
2
3 import cn.neusoft.util.Dbutils;
4
5 public class UserDaoImpl implements UserDao {
6
7 @Override
8 public int addUser(User user){
9 String sql="insert into tbl_user (uname,pwd) values(?,?)";
10 Object[] obj=new Object[]{user.getUname(),user.getPwd()};
11 int a=0;
12 a=Dbutils.executeUpdate(sql, obj);
13 return a;
14 }
15 }
UserDaoImpl
3.测试
1 package cn.neusoft.test;
2
3 import cn.neusoft.util.Dbutils;
4
5 public class TestUserDao {
6 static UserDao userdao=new UserDaoImpl();
7 public static int testUser(User user){
8 int a=userdao.addUser(user);
9 System.out.println(a);
10 return a;
11 }
12 public static void main(String[] args) {
13 User user=new User("8","8");
14 testUser(user);
15 }
16 }
Test
4.测试成功!
单独测试的话需要加入mysql-connector-java-5.0.8-bin.jar包,并右击Add to bulid path
JDBC
标签:roo ring 技术分享 mysq lap 加载 logs lock static