Java原生操作数据库(不使用框架)

1.引入数据库驱动的jar包 以通过maven引入mysql driver为例

  1.1 到http://mvnrepository.com 搜索 mysql

  1.2 复制所需maven配置文件到工程的 pom.xml

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>6.0.6</version>
</dependency>

2.创建数据库连接类DBUtil.java用以连接与关闭数据库

//文件名:DBUtil.java

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DBUtil {

    static String user = "root";
    static String password = "root";
    static String url = "jdbc:mysql://localhost【数据库地址】:3306【端口】/【数据库名称】?serverTimezone=UTC";

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

    public static Connection getConnection() {
        Connection conn = null;
        try {
            conn = DriverManager.getConnection(url, user, password);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }

    public static void closeJDBC(ResultSet rs, Statement stmt, Connection conn) {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (stmt != null) {
            try {
                stmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

3.在java代码中对表进行操作

3.1 查,删,改类似

//查找table表重的 id和nameString sql = "select id,name from table";Connection conn = DBUtil.getConnection();
PreparedStatement pstmt = null;
try {
      conn.setAutoCommit(false);
      pstmt = conn.prepareStatement(sql);
       ResultSet rs = pstmt.executeQuery();
       json = ResultSetToJson.ResultSetToJsonArray(rs);
     }catch (SQLException e){
     try {
           conn.rollback();
     }catch (SQLException e1){
           e1.printStackTrace();
     }
}finally {
    DBUtil.closeJDBC(null, pstmt, conn);
}
     return json;

3.1 增

int basicinfoID = 0;
String sql = "INSERT INTO tb_resume_basicinfo("    + "basicinfo_id, realname, gender, birthday, current_loc, "    + "resident_loc, telephone, email, job_intension, job_experience, head_shot,applicant_id) "    +"VALUES(SEQ_ITOFFER_RESUMEBASICINFO.NEXTVAL,?,?,?,?,?,?,?,?,?,?,?)";
Connection conn = DBUtil.getConnection();
PreparedStatement pstmt = null;
        try {
            // 关闭自动提交
            conn.setAutoCommit(false);
            pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, basicinfo.getRealName());
            pstmt.setString(2, basicinfo.getGender());
            pstmt.setTimestamp(3, basicinfo.getBirthday() == null ? null
                    : new Timestamp(basicinfo.getBirthday().getTime()));
            pstmt.setString(4, basicinfo.getCurrentLoc());
            pstmt.setString(5, basicinfo.getResidentLoc());
            pstmt.setString(6, basicinfo.getTelephone());
            pstmt.setString(7, basicinfo.getEmail());
            pstmt.setString(8, basicinfo.getJobIntension());
            pstmt.setString(9, basicinfo.getJobExperience());
            pstmt.setString(10, basicinfo.getHeadShot());
            pstmt.setInt(11, applicantID);
            pstmt.executeUpdate();
} catch (SQLException e) {
            try {
                // 事务回滚
                conn.rollback();
            } catch (SQLException e1) {
                e1.printStackTrace();
            }
            e.printStackTrace();
        } finally {
            DBUtil.closeJDBC(null, pstmt, conn);
        }
时间: 2024-10-27 04:51:16

Java原生操作数据库(不使用框架)的相关文章

greenDao:操作数据库的开源框架

greenDAO: Android ORM for your SQLite database 1. greenDao库获取 英文标题借鉴的是greendrobot官网介绍greenDao时给出的Title,链接:http://greenrobot.org/greendao/,有兴趣的可以点进去(不用外网),里面有使用说明及相关资料的下载接口.greenDao目前版本已经更新到3.x.x,与2.x.x相比支持的功能发生了很大的改变(后面会提到),所以强烈推荐使用最新的版本.如3.1.1版本的获取方

Java程序操作数据库SQLserver详解

数据库基本操作:增删改查(CRUD) crud介绍(增.删.改.查操作) CRUD是指在做计算处理时的增加(Create).查询(Retrieve)(重新得到数据).更新(Update)和删除(Delete)几个单记事的首字母简写.主要被用在描述软件系统中数据库或者持久层的基本操作功能. Create new records Rctricvc cxisting rccords Update existing records Delete existing records. 要对数据表进行增.删.

安卓java层操作数据库

一.在Android中查询数据库用到两个重要的类:  1.SQLiteDatabase:用来创建,删除,执行SQL命令,并执行其他常见的数据库管理任务. 2.query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy) 返回Cursor对象 table:数据库里边表的名称 columns:需要查询出来数据库

Java jdbc 操作数据库详解

原文地址https://www.cnblogs.com/huguodong/p/5910859.html JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用java语言编写的类和接口组成. 有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事.换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访

07_数据库创建,添加c3p0操作所需的jar包,编写c3p0-config.xml文件,编写User.java,编写jdbcUtils.java实现操作数据库的模板工具类,UserDao编写,Dao

 1  创建day14数据库,创建user.sql表: A 创建数据库 day14 B 创建数据表 users create table users ( id int primary keyauto_increment, username varchar(20), password varchar(20) ); 2  添加依赖的jar包 c3p0-0.9.1.2.jar mysql-connection-java-5.0.8-bin.jar commons-beanutils-1.8.0.j

WangSql -- SqlExe 一个操作数据库的简单框架

这只是开篇,会持续更新. 目前用到反射较多,影响性能啊,后期考虑用映射,不过映射恐怕又要写配置文件,麻烦啊. 1.项目结构 目前支持 SqlServer Access Oracle MySql 要支持其他数据库可以自己添加. 2.功能详解 2.1 database.config 将database.config放到网站根目录,名字不可改. <?xml version="1.0" encoding="utf-8" ?> <configuration&

java 动态操作数据库

问题描述:比如项目现在要使用在南京的8的区,这时这8个区分别建了一个数据库,但是只有一个项目,每个区的用户都使用这个项目进行登录 问题难点:如何验证登录人属于哪个区,然后确认之后,如何进行数据库的切换: 问题思路:除了8个数据库之外,在建一个数据库:数据库中包含的几张表:储存登录用户的信息等,直接上图理解 一.数据库的建立 h_right : h_role:红色表示登录人  所属哪一区 h_role_right:  分配显示的菜单 h_role_sysuser:用于分配区编号 h_sysuser

Java - 数据操作 - 数据库

1 判空 SELECT ENAME FROM EMP WHERE MGR IS NULL; 2 索引 不适合建立索引的情况 1. 很少使用或参考的列 2. 只有很少数据值的列 3. 定义为image, text, bit 数据类型的列 3 若空改变 1若为空则取2 oracle - nvl(expr1, expr2) mysql - ifnull(expr1, expr2) 4 建表 通过现有的表生成一个新的物理表 - create table 表名 as select 子句 where 子句

Java Web的数据库操作(一)

一.JDBC技术 1.JDBC简介 JDBC是Java程序与数据库系统通信的标准API,它定义在JDK的API中,通过JDBC技术,Java程序可以非常方便地与各种数据库交互,JDBC在Java程序与数据库系统之间假期了一座桥梁. JDBC由一组用Java语言编写的类和接口组成,它对数据库的操作提供了基本方法,但由于数据库种类跟多且多有不同,所以对数据库的细节操作由数据库厂商进行实现,且厂商需要提供数据库的驱动程序,下图为Java程序与数据库相交互的示意图: 2.JDBC连接数据库的过程 l