JDBC连接MySql数据库的基本步骤(封装后)

学习了JDBC连接MySql的几个主要步骤:

先把封装相关东西的代码贴出来:

public class DBUtils {
/**
      * 数据库驱动类路径
      */
public static final String DRIVER="com.mysql.jdbc.Driver";

/**
* 数据库连接的url地址
*/
public static final String URL="jdbc:mysql://localhost:3306/mymusic";

/**
* 用户名
*/
public static final String USERNAME="root";

/**
* 密码
*/
public static final String PASSWORD="123456";

/**
* 静态语句块,只会在类加载时执行一次,不会反复加载
*/
static{
 try {
 //加载驱动
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
 public static Connection getConn(){
 
 try {
return DriverManager.getConnection(URL,USERNAME,PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
}
   
 return null;
 }

1.加载驱动

方式一:Class.forName(DRIVER);

  一般都用这种方式

方式二:DriverManager.registerDriver(DRIVER);

  会造成DriverManager中产生两个一样的驱动,并会对具体的驱动类产生依赖。

2.获取连接

Connection conn = DBUtils.getConn();

//即Connection conn = DriverManager.getConnection(URL,USERNAME,PASSWORD);

 URL用于标识数据库的位置,通过URL地址告诉JDBC程序连接哪个数据库,URL的写法为:

  


3.获取执行sql语句的命令对象

三种Statement类:

Statement:由createStatement创建,用于发送简单的SQL语句(不带参数)。

PreparedStatement :继承自Statement接口,由preparedStatement创建,用于发送含有一个或多个参数的SQL语句。PreparedStatement对象比Statement对象的效率更高,并且可以防止SQL注入,所以我们一般都使用PreparedStatement。

CallableStatement:继承自PreparedStatement接口,由方法prepareCall创建,用于调用存储过程。


4.执行sql语句

常见Statement方法:

execute(String sql):运行语句,返回是否有结果集

executeQuery(String sql):运行select语句,返回ResultSet结果集。

executeUpdate(String sql):运行insert/update/delete操作,返回更新的行数。

addBatch(String sql) :把多条sql语句放到一个批处理中。

executeBatch():向数据库发送一批sql语句执行。


5.处理结果

这里分为更新表操作和查询表操作

更新表操作一般if(i>0){}来判断是否执行成功

查询表操作则用到ResultSet接口

ResultSet提供检索不同类型字段的方法,常用的有:

getString(int index)、getString(String columnName):获得在数据库里是varchar、char等类型的数据对象。

getFloat(int index)、getFloat(String columnName):获得在数据库里是Float类型的数据对象。

getDate(int index)、getDate(String columnName):获得在数据库里是Date类型的数据。

getBoolean(int index)、getBoolean(String columnName):获得在数据库里是Boolean类型的数据。

getObject(int index)、getObject(String columnName):获取在数据库里任意类型的数据。


6.关闭资源

使用后依次关闭对象及连接: Statement → Connection

下面是更新(增删改)的实例:

public class JdbcDemo{
    public boolean Update(String name,String pwd)//参数类型{
    

    String sql=" insert into tbuser(username,password) values(?,?)";

//     String sql = "update tbuser set password=? where id=?";

//      String sql=" delete from tbuser where id=?";

    try {
//1.加载驱动
//Class.forName("com.mysql.jdbc.Driver");

//2.获取连接
Connection conn = DBUtils.getConn(); //见上面的代码
 
//3.获取执行sql语句的命令对象

PreparedStatement ps = conn.prepareStatement(sql);

                         //这里根据自己sql语句定义相关方法

ps.setString(1, name);
ps.setString(2, pwd);
 

 
//4.执行sql语句
int i = ps.executeUpdate();
 
//5.处理结果
if(i>0){
System.out.println("添加成功");
}

//6.关闭资源
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}


    
public static void main(String[] args) throws ClassNotFoundException, SQLException{
//最后直接对整个类调用,根据上面的参数类型来写
           new JdbcDemo().Update("xyz","123456");
}
}


你可能感兴趣的:(JDBC连接MySql数据库的基本步骤(封装后))