Java使用jdbc连接MySQL数据库详细实例
2014-07-18 22:07
981 查看
MySQL数据库:
首先,我们需要在Mysql的test数据库下新建一个table,比如如下student表:
该表的create语句如下:
注意:请在操作之前自行插入测试数据。
Java代码:
0. 添加MySQL驱动jar到项目路径(点此下载驱动jar)
1. 在org.plyy.utils包下建DBManager类,该类的作用是管理新建和关闭数据库连接:
2. 在org.plyy.entity包下建Student类,该类的作用是关联数据库中的student表,将数据库的数据对应到Java实体:
3. 在org.plyy.dao包下建IStudentDao接口,该接口的作用是定义各种数据操作方法:
4. 在org.plyy.dao.impl包下建StudentDaoImpl类,该类的作用是实现dao下定义的各种数据操作方法:
至此结束。
有任何问题请咨询王萌(puliuyinyi@qq.com)
首先,我们需要在Mysql的test数据库下新建一个table,比如如下student表:
该表的create语句如下:
CREATE TABLE `student` ( `sno` int(11) NOT NULL, `sname` varchar(20) NOT NULL, `sex` varchar(1) DEFAULT NULL, `birthday` date DEFAULT NULL, `email` varchar(20) DEFAULT NULL, `addr` varchar(20) DEFAULT NULL, PRIMARY KEY (`sno`) )
注意:请在操作之前自行插入测试数据。
Java代码:
0. 添加MySQL驱动jar到项目路径(点此下载驱动jar)
1. 在org.plyy.utils包下建DBManager类,该类的作用是管理新建和关闭数据库连接:
package org.plyy.utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class DBManager { private static Connection conn = null; private static final String DB_USER = "root"; //数据库用户名 private static final String DB_PASS = "test123"; //用户密码 private static final String DB_URL = "jdbc:mysql://localhost:3306/test";//数据库对应url private static final String DB_DRIVER = "com.mysql.jdbc.Driver"; //数据库驱动 /*建立数据库连接,返回连接对象*/ public static Connection getConnection(){ try { Class.forName(DB_DRIVER); //装载数据库驱动程序 System.out.println("Success loading Mysql Driver!"); conn = DriverManager.getConnection(DB_URL,DB_USER,DB_PASS); //建立连接,获取连接对象 System.out.println("Success connect Mysql server!"); } catch (ClassNotFoundException e) { System.out.println("Error loading Mysql Driver!"); e.printStackTrace(); } catch (SQLException e) { System.out.println("Error connect Mysql server!"); e.printStackTrace(); } return conn; } /*关闭连接*/ public static void closeAll(Connection conn, PreparedStatement stmt, ResultSet rs){ try { if(rs != null){ rs.close(); } if(stmt != null){ stmt.close(); } if(conn != null){ conn.close(); } } catch (SQLException e) { System.out.println("Error close connection!"); e.printStackTrace(); } } }
2. 在org.plyy.entity包下建Student类,该类的作用是关联数据库中的student表,将数据库的数据对应到Java实体:
package org.plyy.entity; import java.sql.Date; public class Student { private int sno; private String sname; private char sex; private Date birthday; private String email; private String addr; public Student(int sno, String sname, char sex, Date birthday, String email, String addr) { super(); this.sno = sno; this.sname = sname; this.sex = sex; this.birthday = birthday; this.email = email; this.addr = addr; } @Override public String toString() { return sno + "\t" + sname + "\t" + sex + "\t" + birthday + "\t" + email + "\t" + addr; } public int getSno() { return sno; } public void setSno(int sno) { this.sno = sno; } public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } public char getSex() { return sex; } public void setSex(char sex) { this.sex = sex; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getAddr() { return addr; } public void setAddr(String addr) { this.addr = addr; } }
3. 在org.plyy.dao包下建IStudentDao接口,该接口的作用是定义各种数据操作方法:
package org.plyy.dao; import java.util.List; import org.plyy.entity.Student; public interface IStudentDao { List<Student> getAllStudent(); //获得student表中的数据 }
4. 在org.plyy.dao.impl包下建StudentDaoImpl类,该类的作用是实现dao下定义的各种数据操作方法:
package org.plyy.dao.impl; import java.sql.Connection; import java.sql.Date; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import org.plyy.dao.IStudentDao; import org.plyy.entity.Student; import org.plyy.utils.DBManager; public class StudentDaoImpl implements IStudentDao{ private Connection conn = null; private PreparedStatement ptst = null; private ResultSet rs = null; @Override public List<Student> getAllStudent() { List<Student> list = new ArrayList<Student>(); conn = DBManager.getConnection(); String sql = "select * from student"; try { ptst = conn.prepareStatement(sql); rs = ptst.executeQuery(); Student stu = null; while(rs.next()){ int sno = rs.getInt("sno"); String sname = rs.getString("sname"); char sex = rs.getString("sex").charAt(0); Date birthday = rs.getDate("birthday"); String email = rs.getString("email"); String addr = rs.getString("addr"); stu = new Student(sno,sname,sex,birthday,email,addr); list.add(stu); } } catch (SQLException e) { System.out.println("Error execute sql statement!"); e.printStackTrace(); } finally{ DBManager.closeAll(conn,ptst,rs); } return list; }5. 在org.plyy.test包下建test类,完成测试:
package org.plyy.test; import java.util.ArrayList; import java.util.List; import org.plyy.dao.IStudentDao; import org.plyy.dao.impl.StudentDaoImpl; import org.plyy.entity.Student; public class Test { public static void main(String[] args) { List<Student> l_test = new ArrayList<Student>(); IStudentDao test = new StudentDaoImpl(); l_test = test.getAllStudent(); System.out.println("sno\tsname\t\tsex\tbirthday\temail\t\taddr"); for (Student stu : l_test) { System.out.println(stu); } } }
至此结束。
有任何问题请咨询王萌(puliuyinyi@qq.com)
相关文章推荐
- Java使用jdbc连接MySQL数据库实例分析
- Java 学习笔记01:使用JDBC连接MYSQL数据库
- Java使用JDBC连接Oracle_MSSQL实例代码
- JAVA使用JDBC连接MySQL数据库
- Java 通过JDBC连接Mysql数据库的方法和实例【图文说明】
- JAVA使用JDBC连接MySQL数据库
- Java 通过JDBC连接Mysql数据库的方法和实例【图文说明】
- 水晶报表CrystalReport2008使用JDBC连接MySQL数据库-详细步骤
- java 通过JDBC连接Mysql数据库的方法和实例
- Java 通过JDBC连接Mysql数据库的方法和实例
- [Sqlite]-->Java使用jdbc连接Sqlite数据库进行各种数据操作的详细过程
- Java利用JDBC连接Mysql数据库实例
- Java使用JDBC连接数据库完整的工具类实例
- 使用JDBC连接MySQL数据库详细步骤
- MyEclipse使用Java 通过JDBC连接MySQL数据库的基本测试
- 水晶报表Crystal Report2008使用JDBC连接MySQL数据库-详细步骤
- MyEclipse使用Java 通过JDBC连接MySQL数据库的基本测试
- Java 通过JDBC连接Mysql数据库的方法和实例【图文说明】
- MyEclipse使用Java 通过JDBC连接MySQL数据库的基本测试
- java使用JDBC连接MYSQL数据库