赞
踩
最近学习了嵌入式SQL,尝试将SQL嵌入到Java中。首先尝试一下JDBC连接SQL server数据库,使用IDEA实现。
首先创建一个JDBCUtils类,这样以后使用JDBC就不用重复编程,直接复用即可。
- package com.ymw.jdbc;
-
- import java.io.IOException;
- import java.io.InputStream;
- import java.sql.*;
- import java.util.Properties;
-
-
- public class JDBCUtils {
- private static String driver=null;
- private static String url=null;
- private static String username=null;
- private static String password=null;
- static {
- try {
- InputStream in = JDBCUtils.class.getClassLoader().getResourceAsStream("db.properties");
- Properties properties = new Properties();
- properties.load(in);
-
- driver = properties.getProperty("driver");
- url=properties.getProperty("url");
- username=properties.getProperty("username");
- password=properties.getProperty("password");
-
- Class.forName(driver);//加载驱动
- } catch (IOException | ClassNotFoundException e) {
- e.printStackTrace();
- }
- }
-
- public static Connection getConnection() throws SQLException {
- return DriverManager.getConnection(url, username, password);
- }
-
- public static void release(Connection conn,Statement st,ResultSet rs) throws SQLException {
- if (rs!=null){
- rs.close();
- }
- if (st!=null){
- st.close();
- }
- if(conn!=null){
- conn.close();
- }
- }
- }
工具类中我们并没有将driver、url、username、password等参数直接写上,而是通过properties来获取,这样做避免了强耦合,实现解耦的功能,将所有的参数写在db.properties文件中,方便管理。
然后是获取连接和释放连接的方法。
然后写测试类,
- package com.ymw.jdbc;
-
- import java.sql.Connection;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
-
- public class TestSelect {
- public static void main(String[] args){
- Connection conn=null;
- Statement st=null;
- ResultSet rs=null;
- try {
- conn = JDBCUtils.getConnection();
- st=conn.createStatement();
- String sql="select * from Yemw_Courses";
- rs=st.executeQuery(sql);
- while (rs.next()){
- System.out.println(rs.getString("ymw_Cname"));
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }finally {
- try {
- JDBCUtils.release(conn,st,rs);
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- }
首先声明三个对象,数据库连接对象、操作对象以及结果集。
然后去获取连接,然后获取sql的执行对象,再去编写sql操作语句,然后使用executeQuery去执行sql语句,最后依次释放。
然后去运行程序。
但是遇到了一些问题,报错信息如下:
在网上找了很多方法,比如修改security文件,发现最后都无法解决问题。然后在官方文档中找到了方法,在配置连接中加上
encrypt=true;trustServerCertificate=true;
当 encrypt 属性设置为 true 且trustServerCertificate 属性设置为 true 时,适用于 SQL Server 的 Microsoft JDBC 驱动程序不会验证 SQL Server TLS 证书。
再一次尝试执行程序
这样就成功了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。