前言
在Java编程中,我们经常要用到数据库,常用的有MySQL,SQL server,因为代码非常的固定,专门写一篇博客整理一下。
本博客原创,转载请注明!!!
本文链接
个人博客:https://ronglin.fun/?p=146
PDF链接:见博客网站
优快云: https://blog.youkuaiyun.com/RongLin02/article/details/118735611
准备工作
下载库
首先需要添加库文件
链接:https://pan.baidu.com/s/12cvWFUqc2YDDgl6d7X-mGg
提取码:Lin2
这边里边有两个jar文件
一个是用来连接MySQL的mysql-connector-java-5.1.8-bin.jar
还有一个是用来连接SQL server的mssql-jdbc-6.2.2.jre8.jar
导入库
导入库的方式有两个
添加到系统
第一个方法是将jar文件添加到系统安装的Java环境中,这样的好处是,以后所有用到这个Java环境的项目,都不需要再次导入
下载上边某度盘分享的文件,以连接MySQL为例:
先找到安装的Java路径,在桌面,右键我的电脑 – 属性 --找到高级系统设置 – 然后找到环境变量
在下方 系统变量中找到我们当时安装Java的路径.
我的就是 java_Home
:E:\Java\jdk1.8.0_261
然后我们将下载好的jar文件放入Java路径下\jre\lib\ext
文件夹中。
以我这系统为例,就是E:\Java\jdk1.8.0_261\jre\lib\ext
这个目录
然后就导入好了
添加到项目
第二个方法是将jar文件添加到单独的项目中,需要注意的是,这个jar文件仅仅对于当前项目有效,其他项目没法用
以eclipse为例,点击要添加jar文件的项目,右键 – Build Path
– Configure Build Path
在弹出的界面点击Add External JARs...
,然后选择下载好的jar文件就行了
代码
代码相对而言就是比较套路了
需要自己修改的就是DateBaseName
、userMySql
和passwordMySql
了
下边这个代码是我按照api写的一个demo,如有错误请联系我
此代码仅用于学习,如有侵权请联系我
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 DataBase {
Connection connection = null;
ResultSet rs = null;
//mysql数据库url
private static String DateBaseName=null;
private static String userMySql=null;
private static String passwordMySql=null;
private static String urlMySql = null;
public DataBase() {
try {
//mysql数据库设置驱动程序类型
//JDBC连接Mysql6要改成 com.mysql.cj.jdbc.Driver
Class.forName("com.mysql.jdbc.Driver");
System.out.println("mysql数据库驱动加载成功");
//sqlserver数据库设置驱动程序类型
//Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//System.out.println("sqlserver数据库驱动加载成功");
}
catch(java.lang.ClassNotFoundException e) {
e.printStackTrace();
}
}
public DataBase(String DataBaseName,String userName,String password)
{
this();
DataBase.DateBaseName=DataBaseName;
DataBase.userMySql=userName;
DataBase.passwordMySql=password;
urlMySql = "jdbc:mysql://localhost:3306/"+DateBaseName+"?user="
+userMySql+"&password="+passwordMySql + "&useUnicode=true&characterEncoding=gbk";
}
public boolean connect()
{
if(urlMySql==null)
{
return false;
}
try{
//mysql数据库
connection = DriverManager.getConnection(urlMySql);
//sqlserver数据库
//connection = DriverManager.getConnection(urlSqlServer);
if(connection!=null){
System.out.println("数据库连接成功");
return true;
}
return false;
}
catch(Exception e){
//e.printStackTrace();
System.out.println("数据库连接失败");
return false;
}
}
public void disconnect(){
try{
if(connection != null){
connection.close();
connection = null;
}
}
catch(Exception e){
e.printStackTrace();
}
}
public ResultSet executeQuery(String sql) {
try {
System.out.println("executeQuery(SQL) = " + sql);
PreparedStatement pstm = connection.prepareStatement(sql);
// 执行查询
rs = pstm.executeQuery();
}
catch(SQLException ex) {
ex.printStackTrace();
}
return rs;
}
//插入
//executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。
//executeUpdate用于执行 INSERT、UPDATE 或 DELETE 语句
//以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。
// 执行增、删、改语句的方法
public int executeUpdate(String sql) {
int count = 0;
connect();
try {
Statement stmt = connection.createStatement();
count = stmt.executeUpdate(sql);
}
catch(SQLException ex) {
System.err.println(ex.getMessage());
return -1;
}
disconnect();
return count;
}
}