想实现java用JDBC连接MySQL数据库。需要有几个准备工作:
3.在dos命令窗口中对mysql进行配置和使用。配置如下:
①在开始菜单的搜索框中输入“cmd”命令。
②把安装mysql软件的路径到bin目录下输入到dos界面(这个是我mysql软件安装的路径)
③注册MYSQL清单,我这里面是一定存在的了。
④请求服务器启动:
⑤输入mysql的用户名和密码:
⑥看mysql数据库中现在有什么数据库(记得加分号):
⑦如果以上语句顺利进行,mysql就可以使用了。例如:在dos窗口中输入sql语句,创建数据库student,用数据库student,在数据库中创建表格stu,在表中插入数据。
在表中添加数据
查询数据。
到此数据库的准备完毕。
4.在编程软件中新建项目,在项目中新建包,在包中新建类。
在项目中新建一个lib文件夹。
5.把之前下载的Connector/J.jar文件,粘贴到lib文件夹中。
6.右击项目名,点击最下方的属性propertirs,点击应用就可以了。
准备工作准备完。对代码进行实现:
packageTestOne;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importcom.mysql.jdbc.Connection;importcom.mysql.jdbc.Statement;public classMyTest {public static void main(String[] args) throwsClassNotFoundException, SQLException {//1.驱动
Class.forName("com.mysql.jdbc.Driver");//2.URL
String url = "jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=gbk";//3.Connection
String user = "root";
String password= "123456";
Connection conn=(Connection) DriverManager.getConnection(url, user, password);//4.Statement执行环境
Statement stat =(Statement) conn.createStatement();//5.执行execute
stat.execute("insert into stu values('8','lusi',25)");
ResultSet rq= stat.executeQuery("select * from stu");//6.结果集
while(rq.next()) {
System.out.println("学号:" + rq.getString("id") +" "+ "姓名:"
+ rq.getString("name") + " "+"年龄:" + rq.getString("arg"));
}//7.关闭流
if (rq != null) {
rq.close();
}if (stat != null) {
stat.close();
}if (conn != null) {
conn.close();
}
}
}
最后的执行结果在控制台输出:
代码实现的详细步骤:
1.加载JDBC驱动程序
2.提供jdbc连接的URL
3.创建数据库的连接。
DriverManager.getConnection的结果复制给 Connection类的对象
4.创建一个Statement
有三种情况:1)执行静态的Statement类。 Statement stat=conn.createStatemnent();
2)执行动态的preparedStatement类。 PreparedStatement pstat=conn. PreparedStatement(sql);
3)执行数据库存储过程CallableStatement类。CallableStatement cpstat=conn.CallableStatement({ , });
5.执行SQL语句
有三种执行的方法:
1)执行查询语句: ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;
2)执行增删改查创建表格和删除表格语句:int rows = stmt.executeUpdate("INSERT INTO ...") ;
3)用于执行返回多个结果集: boolean flag = stmt.execute(String sql) ;
6.处理结果
7.关闭JDBC对象
关闭顺序和声明顺序相反