连接数据库方法,可重复利用

src目录下建立mysql.properties文件

mysql.driver=com.mysql.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/db_v?useUnicode=true&characterEncoding=utf8
mysql.username=root
mysql.password=a

建立DBUtil.java文件

package com.b2c.utils;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;

public class DBUtil {
    
    private static String driver = "" ;
    private static String url = "" ;
    private static String username = "" ;
    private static String password = "" ;
    
    static {
        Properties pp = new Properties();
        try {
            pp.load(DBUtil.class.getClassLoader().getResourceAsStream("mysql.properties"));
            driver = pp.getProperty("mysql.driver");
            url = pp.getProperty("mysql.url");
            username = pp.getProperty("mysql.username");
            password = pp.getProperty("mysql.password");
            Class.forName(driver);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
    }

public static Connection getConnection (){
        Connection conn = null ;
        try {
            conn = DriverManager.getConnection(url, username, password);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn ;
    }
    
    public static void close(ResultSet rs , PreparedStatement ps , Connection conn){
        try {
            if(rs!=null /*&& !rs.isClosed()*/){
                rs.close();
            }
            if(ps!=null/* && !ps.isClosed()*/){
                ps.close();
            }
            if(conn!=null /*&& !conn.isClosed()*/){
                conn.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    
    public static void main(String[] args) {
        System.out.println(DBUtil.getConnection());
    }
    
}
运行该文件可看到数据库已连接

示例

SubmitRegisterSetPasswordAction.java文件

package com.b2c.user.action;

import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.b2c.entity.User;
import com.b2c.utils.DBUtil;
import com.b2c.utils.EncrtypeUtil;

public class SubmitRegisterSetPasswordAction extends HttpServlet {

private static final long serialVersionUID = 8064991878705626238L;

public void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
        String user_password = request.getParameter("user_password");
        String user_phone = (String)request.getSession().getAttribute("user_phone");
        
        String sql = "insert into t_v_user (user_phone , user_password , user_register_time , user_last_login_time ) values (?,?,?,?) " ;
        Connection conn = null ;
        PreparedStatement ps = null ;
        User user = new User();
        conn = DBUtil.getConnection();
        String temp_time = System.currentTimeMillis() + "" ;
        try {
            ps = conn.prepareStatement(sql);
            ps.setString(1, user_phone);
            ps.setString(2, EncrtypeUtil.getEncryptStr(user_password, "sha"));
            ps.setString(3, temp_time);
            ps.setString(4, temp_time);
            ps.executeUpdate();//返回值是本次执行影响到数据表中的记录条数
        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
            DBUtil.close(null, ps, conn);
        }
        user.setUser_phone(user_phone);
        user.setUser_register_time(temp_time);
        user.setUser_last_login_time(temp_time);
        request.getSession().setAttribute("user", user);
        request.getRequestDispatcher("/WEB-INF/user/user_register_set_point_page.jsp").forward(request, response);
        return ;
    }

}

时间: 2024-12-20 09:38:35

连接数据库方法,可重复利用的相关文章

连接数据库方法

1.Driver public Connection getConnection() throws Exception { String driverClass = null; String jdbcUrl = null; String user = null; String password = null; // 读取类路径下的 jdbc.properties 文件 InputStream in = getClass().getClassLoader().getResourceAsStream

java中的jdbc连接数据库方法及应用

jdbc连接数据库的口诀:猪脸特直观 import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Demo03 { public static void main(String[] args) thr

JDBC连接数据库方法的封装,以及查询数据方法的封装(精华)

主要内容: 一般的连接数据库测试 把连接数据库的方法封装成一个类和测试 一个简单的插入表实例 查询数据实例 封装查询的数据库的信息 封装信息后的查询数据库 一.一般的数据库连接测试 1 public class TestConnection1 { 2 public static void main(String[] args) throws Exception { 3 Class.forName("com.mysql.jdbc.Driver"); 4 String url="

jdbc连接数据库方法及一些相关知识点

刚学习完java jdbc连接数据库,总结其中的2种方法 第一种: 代码如下: import java.sql.Connection;import java.sql.Driver;//import java.sql.DriverManager;import java.sql.SQLException;import java.util.Properties; import org.junit.Test;// public class Demo1 { //连接数据库的URL private Stri

weka连接数据库方法(mysql)

weka连接数据库绕了不少的圈子,总是因为一些乱七八糟的原因连接不上.现把详细过程写出,为以后用到的人节省时间. 1.配置环境(默认为已经配置好jdk). 在WEKA的安装目录下新建lib目录,将数据库Driver for JDBC (jar包) 拷贝进\lib 变量:WEKA_HOME  值:D:\Weka-3-6添加变量:ClassPath  值:%WEKA_HOME%\lib\mysql-connector-java-5.0.4-bin.jar; 2.用压缩软件解压weka.jar(建议先

linux服务器连接数据库方法

主机名用localhost 要使用SSH连接

在Eclipse中使用JDBC连接数据库

一:以在Eclipse中使用JDBC连接Microsoft SQL Server 2000数据库为例: 1.打开Microsoft SQL Server 2000服务管理器 2.在Microsoft SQL Server 2000中新建数据库student 3.打开Eclipse,新建项目工程test,新建包test,新建类Conn 4.编写代码如下 1 package test; 2 3 import java.sql.*; 4 5 public class Conn { // 创建类Conn

Mysql连接数据库的操作

$link=mysql_connect("ip","数据库名",密码); mysql_select_db("库名",$link); mysql_query("set names utf8"); $sql = "select id,name from brand"; $arr = mysql_query($sql); //执行sql语句 PDO连接数据库方法: 什么是PDO? PDO是PHP data Obj

oo4o 连接数据库操作

vc调用oo4o中的 ODatabase 中open接口连接数据库方法:  函数原型:oresult Open(const char *dbname, const char *username, const char *pwd, long options = ODATABASE_DEFAULT)  1. 用服务名方法连接 Open(dbname, username,pwd); dbname: 用oracle客户端创建的  服务别名 username:登陆名 pwd:登陆密码 Ex:Open("E