Java JDBC入门
如今各大框架的使用(hibernate等),让我们程序对数据库的操作越来越简单,但是JDBC这种基础的学习也是必须的。
下面我们就按步骤运用JDBC链接Mysql数据库
(1).第一导入相应的依赖,Mavn可以直接搜索入mysql的依赖。如果没有maven,要下载相应的jar包导入。
(2).创建相应的类,加载驱动:Class.forName("com.mysql.jdbc.Driver");这是mysql所规定好的,其他数据库有自己相应的类名。(要处理异常)
(3).创建链接:String url = "jdbc:mysql://localhost:3306/数据库名";
String user = "用户名";
String pwd = "密码";
Connection conn = DriverManager.getConnection(url,user,psw);(要处理异常)
如下图:
当输出 类似下面的,表示链接成功
(4).此时我们已经的到了数据库的链接。然后就是创建对象,用来帮助我们执行sql语句。
Statement stmt = conn.createStatement();(处理异常)
(5). 拼接我们要执行的sql语句。
String sql = " ";(根据你的需要来编写)
(6).执行。当我们上面的工作都完成时我们就可以操作数据库了。
^对于不需要返回值的操作:update,insert,delete;
用 stmt.executeUpdate(sql);来执行sql语句,当然如果你想要知道自己的执行是否成功,也可以定义一个int类型来接收操作的返回值,这个操作会返回一个int类型的数据,代表操作数据库影响的行数。
即:int result = stmt.executeUpate(sql);如果result大于0,则表示成功。
^对于需要得到返回值的操作,select
我们有一个ResultSet来接收:
ResultSet rs = stmt.executeQuery(sql);
例如:
进一步完善:
为了能够写sql语句更加方便,也为了防止sql注入,我们可以采用预编译访问:
预编译的步骤与上面类似,改动的地方在sql语句上:
这是我们之前创建的执行对象:Statement stmt = conn.createStatement();
现在我们需要预编译的执行对象:PreparedStatement pstmt = conn.PreparedStatement();
之后我们的sql语句不再需要拼接,只需要将里面的数据用问号代替:
String sql="insert into ClassMate(name,telephone,university) VALUE (?,?,?)";
之后将数据用pstmt加入,数字代表第几个问号:
pstmt.setString(1,naem);
pstmt.setString(2,telephone);
pstmt.setString(3,university);
然后执行:
result=pstmt.executeUpdate();