前期准备:
1 首先你需要安装mysql数据库软件
2 从mysql官网下载mysql JDBC的驱动程序,驱动程序要与mysql版本一致,但我没有找到与我mysql版本一致的驱动。我只看到了 5.1.44版本的,下来试试吧。下载后解压得到mysql-connector-java-5.1.44-bin.jar文件
3 设置驱动程序类路径
方法一:在环境变量classpath中添加驱动程序路径信息。
方法二:把驱动程序复制到应用程序类路径下(项目的src目录)。然后在eclipse中,右击项目名,在下拉菜单中,选择 build path -> configure build path 打开对话框后选择 Libraries 标签,单击 Add JARs 选择刚才放在src目录下的jar包点击 OK 完成配置。
如果是WEB项目,把驱动程序复制到webRoot\WEB-INF\lib 目录下就可以了,eclipse会自动把lib目录下的类库添加到类路径中。
创建测试数据库并添加数据:
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL,
`phone` varchar(15) NOT NULL,
PRIMARY KEY (`id`),
KEY `name` (`name`),
KEY `phone` (`phone`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
INSERT INTO `user` (`id`, `name`, `phone`) VALUES
(1, 'king', '13100000000'),
(2, 'queen', '13111111111');
基本使用
package JdbcMysql;
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 MysqlOperator {
// java jdbc操作mysql数据库基本步骤
// 1 加载JDBC驱动
// 2 创建数据库连接
// 3 创建Statement对象
// 4 执行sql语句,返回结果集对象ResultSet
// 5 处理返回的结果
// 6 关闭创建的各对象
final static String driver = "com.mysql.jdbc.Driver";
final static String url = "jdbc:mysql://localhost:3306/test";
final static String user = "root";
final static String password = "root";
// 加载驱动程序
static {
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 创建连接
Connection conn = getConn();
if(conn==null){
System.out.println("创建连接失败");
System.exit(0);
}
// 创建Statement对象
Statement stmt = conn.createStatement();
String sql = "select * from user";
// 执行sql查询
ResultSet res = stmt.executeQuery(sql);
// 从结果集中取数据 可以按列名称取值 也可以按索引号取值
while(res.next()){
System.out.println(res.getString("name")+"---"+res.getString("phone"));
}
// PreparedStatement 的基本用法 带条件查询
ResultSet res1 = getResultSetByPhone("13100000000",conn);
while(res1.next()){
System.out.println(res1.getString("name")+"---"+res1.getString("phone"));
}
// 关闭连接
closeConn(conn);
}
// 创建连接
public static Connection getConn() throws SQLException{
Connection conn = null;
conn = DriverManager.getConnection(url,user,password);
return conn;
}
// 关闭连接
public static void closeConn(Connection conn) throws SQLException{
if(conn!=null&&!conn.isClosed()){
conn.close();
}
}
// 封装一个带条件查询
public static ResultSet getResultSetByPhone(String phone,Connection conn) throws SQLException{
String sql = "select * from user where phone=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, phone);
return pstmt.executeQuery();
}
}
在有了以上基础后,我们需要对涉及到的 Connection Statement ResultSet 对象进行深入研究,以便实现对mysql的更高级操作,比如 插入 修改 删除 调用存储过程 实现事务等。