原生Java操作mysql数据库过程解析
这篇文章主要介绍了原生Java操作mysql数据库过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
1.引入数据库驱动的jar包以通过maven引入mysqldriver为例
1.1到http://mvnrepository.com搜索mysql
1.2复制所需maven配置文件到工程的pom.xml
mysql mysql-connector-java 6.0.6
2.创建数据库连接类DBUtil.java用以连接与关闭数据库
//文件名:DBUtil.java
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
publicclassDBUtil{
staticStringuser="root";
staticStringpassword="root";
staticStringurl="jdbc:mysql://localhost【数据库地址】:3306【端口】/【数据库名称】?serverTimezone=UTC";
static{
try{
Class.forName("com.mysql.cj.jdbc.Driver");
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}
}
publicstaticConnectiongetConnection(){
Connectionconn=null;
try{
conn=DriverManager.getConnection(url,user,password);
}catch(SQLExceptione){
e.printStackTrace();
}
returnconn;
}
publicstaticvoidcloseJDBC(ResultSetrs,Statementstmt,Connectionconn){
if(rs!=null){
try{
rs.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
if(stmt!=null){
try{
stmt.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
if(conn!=null){
try{
conn.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
}
}
3.在java代码中对表进行操作
3.1查,删,改类似
//查找table表重的id和name
Stringsql="selectid,namefromtable";
Connectionconn=DBUtil.getConnection();
PreparedStatementpstmt=null;
try{
conn.setAutoCommit(false);
pstmt=conn.prepareStatement(sql);
ResultSetrs=pstmt.executeQuery();
json=ResultSetToJson.ResultSetToJsonArray(rs);
}catch(SQLExceptione){
try{
conn.rollback();
}catch(SQLExceptione1){
e1.printStackTrace();
}
}finally{
DBUtil.closeJDBC(null,pstmt,conn);
}
returnjson;
3.1增
intbasicinfoID=0;
Stringsql="INSERTINTOtb_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,?,?,?,?,?,?,?,?,?,?,?)";
Connectionconn=DBUtil.getConnection();
PreparedStatementpstmt=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
:newTimestamp(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(SQLExceptione){
try{
//事务回滚
conn.rollback();
}catch(SQLExceptione1){
e1.printStackTrace();
}
e.printStackTrace();
}finally{
DBUtil.closeJDBC(null,pstmt,conn);
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。