首先注册驱动,驱动注册一边即可,将代码封装在一个类里面
- /*我们每次连接数据库都要注册驱动,并且注册驱动只要一次即可,如果用一次注册一次岂不是相当的麻烦,那
- * 我们为何不把他写入一个类,只要程序一掉用此类,就自动注册驱动,static{}块是在程序中只要调用此类,
- * static块就会自动执行的代码块,
- 并且只会执行一次*/
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- public class Util {
- static String url="jdbc:mysql://127.0.0.1:3306/mydata"; //注册驱动
- static String user="root"; //输入用户与密码
- static String pass="1";
- static{ //一旦程序调用了此类,此段代码便会自动执行
- try {
- Class.forName("com.mysql.jdbc.Driver");
- } catch (ClassNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public static Connection getConn() throws SQLException //返回一个Connection对象,方便数据的插入
- {
- return DriverManager.getConnection(url, user, pass);
- }
- public static void free(Statement st,Connection conn) //等sql语句执行完毕,关闭连接
- {
- if(st!=null)
- try {
- st.close();
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- finally{ //如果前面抛异常,conn照样可以关闭
- if(conn!=null)
- try {
- conn.close();
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- /*st.close();
- conn.close();*/
- }
- public static void free(ResultSet rs,Statement st,Connection conn)
- {
- if(rs!=null)
- try {
- rs.close();
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- free(st,conn);
- }
- }
将mysql里的student表封装成一个对象
- //将要插入的数据封装成一个对象,并且生成每个属性的get和set方法
- public class Student {
- private int id;
- private String name;
- private int age;
- public Student(int id){
- this.id=id;
- }
- public Student(int id,String name,int age)
- {
- this.id=id;
- this.name=name;
- this.age=age;
- }
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- }
建立一个类用来写mysql的语句
- /*此类里面写的是sql语句,当外部调用此类的方法的时候,不用再去写sql语句,
- 因为内部已经将sql语句写好,不需要知道内部的具体实现*/
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import javax.naming.spi.DirStateFactory.Result;
- public class StuDao {
- public void insert(Student s) //插入语句
- {
- try {
- Connection conn=Util.getConn();
- /*在此用到了一个preparedStatement是Statement的一个子类,它比Statement更方便一些,在Statement的execteUpdate
- 方法中,传递的参数只能是sql语句,就算是一样的要修改数据不一样而其他一样的几句话也必须将代码全部写出
- 例如:String sql="insert into student(id,name,age)values(1,zhangsan,11)";
- String sql="insert into student(id,name,age)values(2,lisi,12)";
- String sql="insert into student(id,name,age)values(3,wangwu,13)";
- 但是,PreparedStatement使用起来更加方便,它允许传递一个未知量————?,它的setInt等方法有两个参数
- 第一个是参数的意思是第几个?,第二个参数是修改的值*/
- String sql="insert into student(id,name,age)values(?,?,?)";
- PreparedStatement st=conn.prepareStatement(sql);
- st.setInt(1, s.getId());
- st.setString(2, s.getName());
- st.setInt(3, s.getAge());
- int i=st.executeUpdate();
- Util.free(st, conn);
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public void update(Student s) //修改语句
- {
- try {
- Connection conn=Util.getConn();
- String sql="update student set name=?,age=? where id=?";
- PreparedStatement st=conn.prepareStatement(sql);
- st.setString(1, s.getName());
- st.setInt(2, s.getAge());
- st.setInt(3, s.getId());
- int i=st.executeUpdate();
- Util.free(st, conn);
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public void delete(Student s){ //删除语句
- try {
- Connection conn = Util.getConn();
- String sql="delete from student where id =?";
- PreparedStatement st = conn.prepareStatement(sql);
- st.setInt(1, s.getId());
- int i=st.executeUpdate();
- Util.free(st, conn);
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public void select1(Student s){ //查询语句
- try {
- Connection conn = Util.getConn();
- String sql = "select * from student where id=?";
- PreparedStatement st = conn.prepareStatement(sql);
- st.setInt(1, s.getId());
- ResultSet rs = st.executeQuery();
- while(rs.next()){
- System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getInt(3));
- }
- Util.free(st, conn);
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
测试类
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- public class TestConnection {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Student s=new Student(4);
- StuDao dao=new StuDao();
- dao.select1(s);
- }
- }
相关推荐
JDBC(Java Database Connectivity)是Java编程语言的标准API,用于连接Java应用程序和各种类型的数据库,包括MySQL。MySQL JDBC驱动,也称为Connector/J,是Oracle公司提供的官方MySQL数据库适配器,它实现了JDBC...
MySQL JDBC驱动,也称为MySQL Connector/J,是MySQL数据库的官方Java驱动程序,用于建立Java应用程序与MySQL数据库之间的连接。 MySQL 8.0.29版本的JDBC驱动是为MySQL 8.x系列数据库系统设计的,提供了最新的功能和...
**JDBC连接MySQL实例详解** Java Database Connectivity (JDBC) 是Java编程语言中用于与数据库交互的一种接口标准,由Sun Microsystems公司(现为Oracle公司)开发。它为Java程序员提供了标准化的方法来创建、执行...
MySQL是一款广泛应用的关系型数据库管理系统,它与JDBC结合,为开发者提供了方便的数据操作接口。下面将详细介绍如何使用Eclipse作为开发环境,通过编写一个JDBC工具类来连接MySQL数据库,并实现基本的增删改查功能...
MySQL-JDBC是Java开发者在应用程序中与MySQL数据库交互的标准方式。JDBC(Java Database Connectivity)是Java平台中用于规范客户端程序如何访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。本...
本示例主要涉及使用Java JDBC连接MySQL数据库,这在开发基于Java的Web应用或桌面应用时十分常见。 在描述中提到了使用Eclipse 3.4作为集成开发环境(IDE),JDK 1.6作为Java开发工具包,以及MySQL 5.0作为数据库...
JDBC(Java Database Connectivity)是Java语言中用于连接数据库的标准API,而MySQL则是一种广泛使用的开源关系型数据库管理系统。本教程将深入探讨如何使用PB通过JDBC来连接MySQL数据库。 首先,我们需要确保已经...
首先,JDBC驱动是Java程序连接MySQL数据库的关键,它允许Java应用程序通过执行SQL语句来操作数据库。`mysql-connector-java-5.1.34.jar`是MySQL官方提供的Java驱动程序,适用于MySQL 5.6和5.7版本。这个驱动包实现了...
MySQL JDBC 驱动是Java应用程序连接MySQL数据库的关键组件。JDBC(Java Database Connectivity)是Java平台中的标准接口,允许Java程序与各种数据库进行交互。MySQL JDBC驱动,也称为Connector/J,是Oracle公司为...
"jdbc.zip_JDBC mysql java_mysql jdbc" 这个标题表明这是一个关于Java JDBC(Java Database Connectivity)技术的资源包,特别关注的是它与MySQL数据库的交互。"jdbc.zip" 指的是一个压缩文件,包含了与JDBC相关的...
1. Web 应用程序:JDBC 连接 MySQL 数据库可以实现 Web 应用程序的数据交互。 2. 移动应用程序:JDBC 连接 MySQL 数据库可以实现移动应用程序的数据交互。 3. 桌面应用程序:JDBC 连接 MySQL 数据库可以实现桌面应用...
在本教程中,我们将深入探讨如何使用Java的JDBC(Java Database Connectivity)接口来从MySQL数据库中读取数据,并将这些数据动态地显示在Android应用的ListView组件上,同时利用SimpleAdapter进行数据绑定。...
它是JDBC与MySQL数据库之间的桥梁,使得Java应用程序能够连接到MySQL服务器。`mysql-connector-java-5.0.8-bin.jar`是特定版本的驱动,其中包含了必要的类和方法,如`com.mysql.jdbc.Driver`,用于注册数据库驱动并...
JDBC是Java平台上的一个标准接口,它允许Java应用程序与各种类型的数据库进行通信,包括MySQL。MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),在Web应用程序开发中尤其常见。 描述中提到的是从官方网站...
标题中的"jdbcSqljdbc4_jdbcMySql5.1_jar"表明这是一个关于Java数据库连接(JDBC)的资源包,包含了SQL Server的jdbc驱动(sqljdbc4.jar)以及MySQL 5.1版本的JDBC驱动。JDBC是Java语言访问数据库的标准接口,允许...
MySQL 8.0 JDBC驱动是Java应用程序连接到MySQL数据库的关键组件。JDBC(Java Database Connectivity)是Java平台的标准,允许Java程序与各种数据库系统交互,包括MySQL。在MySQL 8.0版本中,JDBC驱动提供了高效、...
对于MySQL,JDBC驱动通常包括`mysql-connector-java`,这是一个允许Java应用程序通过JDBC API与MySQL通信的驱动程序。在Java代码中,通过`Class.forName()`加载相应的驱动,然后使用`DriverManager.getConnection()`...
首先,MySQL 5.7.20 JDBC驱动程序是Java应用程序连接到MySQL数据库的关键组件。它提供了Java API,允许开发者通过编写Java代码来执行SQL查询、管理数据库事务以及处理结果集。这个驱动程序的两个版本——5.1.47和...