zoukankan      html  css  js  c++  java
  • jdbc

    配置

    下载Java连接MySQL的驱动包

    放置位置随意,只要Java目录下D:Program FilesJavajdk1.7.0_80jrelibextmysql-connector-java-5.1.25-bin.jar

    eclipse项目引入该包:

    导入jar包的项目名,右键build path,add external Archives...,选择刚刚存放的jar包,就引入工程了

    简单调用程序:

    package com.XXX.test;

    import java.sql.*;

    public class MySQLConnection {
    public static void main(String[] args) {
    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;
    String url = null;
    String user = null;
    String password = null;
    String sql = null;
    try {
    Class.forName("com.mysql.jdbc.Driver"); //加载mysq驱动
    } catch (ClassNotFoundException e) {
    System.out.println("驱动加载错误");
    e.printStackTrace();//打印出错详细信息
    }
    try {
    url =
    "jdbc:mysql://192.168.8.88:3309/stdlaw?user=stdlaw&password=stdlaw&useUnicode=true&&characterEncoding=gb2312&autoReconnect = true";//简单写法:url = "jdbc:myqsl://localhost/test(数据库名)? user=root(用户)&password=123456(密码)";
    user = "stdlaw";
    password = "stdlaw";
    conn = DriverManager.getConnection(url,user,password);
    } catch (SQLException e) {
    System.out.println("数据库链接错误");
    e.printStackTrace();
    }
    try {
    stmt = conn.createStatement();
    sql = "select * from ali_suit_people";
    rs = stmt.executeQuery(sql);//执行sql语句
    while(rs.next()) {
    System.out.print(rs.getInt("id") + " ");
    System.out.print(rs.getString("name") + " ");
    System.out.println(rs.getString("lawyer") + " ");
    }
    } catch (SQLException e) {
    System.out.println("数据操作错误");
    e.printStackTrace();
    }
    //关闭数据库
    try {
    if(rs != null) {
    rs.close();
    rs = null;
    }
    if(stmt != null) {
    stmt.close();
    stmt = null;
    }
    if(conn != null) {
    conn.close();
    conn = null;
    }
    } catch(Exception e) {
    System.out.println("数据库关闭错误");
    e.printStackTrace();
    }
    }
    }

    package com.fabao.test;

    //import java.sql.*;

    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 MySQLConnection {

    //数据库的连接时候的url
    private static String url = "jdbc:mysql://192.168.8.88:3309/stdlaw";
    //数据库的用户
    private static String user = "stdlaw";
    //数据库用户对用的密码
    private static String password = "stdlaw";

    static{
    try {
    Class.forName("com.mysql.jdbc.Driver");
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }
    }

    /**
    *
    * 获取数据库连接的操作
    * @return 已经和数据库进行连接的connection对象
    * @throws SQLException 数据库连接获取失败的操作
    */
    public static Connection getConnection() throws SQLException{
    return DriverManager.getConnection(url, user, password);
    }


    /**
    * @param conn 已经和数据库进行连接的connection对象
    * @param sql 需要进行执行的sql语句
    * @return 预处理的对象preparedStatement
    */
    public static PreparedStatement getPreparedStatement(Connection conn,String sql){
    PreparedStatement ps = null;
    try {
    ps = conn.prepareStatement(sql);
    } catch (SQLException e) {
    e.printStackTrace();
    }
    return ps;
    }

    /**
    * 数据库连接箱资源释放的操作
    * @param conn 和数据库进行连接的对象
    * @param ps 预处理的preparedStatement对象
    * @param rs sql执行的结果集
    */
    public static void close(Connection conn, Statement ps, ResultSet rs){
    if(rs!=null){
    try {
    rs.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    if(ps!=null){
    try {
    ps.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    if(conn!=null){
    try {
    conn.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    }

    }

    package com.fabao.test;


    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;

    import com.fabao.test.MySQLConnection;

    /**
    * 封装之后的一个简单的测试
    * 使用的是preparedStatement的对象进行的基本的操作
    * 这个类的使用可以防止用户在使用的时候进行一个sql注入的操作的影响
    */
    public class MyTest {

    public static void main(String[] args) throws Exception {
    //数据库连接的获取的操作,对用的是自己封装的包中的类进行的操作
    Connection conn = MySQLConnection.getConnection();
    //sql语句的一个预操作
    String sql = "select id,name,lawyer from ali_suit_people";
    //ps对象
    PreparedStatement ps = MySQLConnection.getPreparedStatement(conn, sql);
    //sql语句的完善
    // ps.setInt(1, 1);
    //结果集的获取
    ResultSet rs = ps.executeQuery();
    //遍历结果集进行基本的数据的输出
    while(rs.next()){
    System.out.println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3));
    }
    //资源的释放的操作
    MySQLConnection.close(conn, ps, rs);
    }


    }

  • 相关阅读:
    php环境搭建
    Tomcat配置
    Android短信监听软件
    SASS官方文档
    HTML5 Shiv – 让该死的IE系列支持HTML5吧
    15+ 易响应的CSS框架快速开启你的敏捷网站项目
    遍历~树遍历~find()-next()-nextAll()-nextUntil()-parent()-parents()-parentsUntil()-prev()-prevAll()-prevUntil()-siblings()
    让IE支持@media 响应式布局
    遍历~树遍历~addBack();children();closest()
    遍历~筛选~eq();filter();first();last();has();is();map();slice()
  • 原文地址:https://www.cnblogs.com/tonjocelyn/p/5478272.html
Copyright © 2011-2022 走看看