6.JAVA语言基础部分--数据库操作

操作数据数据流程:得到Connecnt->获取Statement对象->执行sql语句返回ResultSet

1.通过DriverManager.getConnection(“jdbc:sqlserver://127.0.0.1:1433;DatabaseName=temp2”, "sa", "123")得到Connection对象;

2.通过Connection对象可以得到 Statement对象

3.使用statement对象执行sql

4.得到结果ResultSet

 

关键代码如下:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public static void main(String[] args) {
        String url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=temp2";
        try {
            // 这里判断是否有驱动的,但mssql2017这个不知道怎么写
            // Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");.
 
            // DriverManager可以得到链接
            Connection con = DriverManager.getConnection(url, "sa", "123");
 
            // 查询示例
            Statement statement = con.createStatement();
            ResultSet set = statement.executeQuery("select * from Whir_Cmn_Area");
            // set其实是一个集合
            while (set.next()) {
                // 获取字段name的值
                  print(set.getString("name"));// 这里除了getString()还有很多其他类型
            }
 
            // 预处理语句查询写法
            PreparedStatement sql = con.prepareStatement("select * from Whir_Cmn_Area where ID>? and ID<?");
            sql.setInt(1, 10);// ?号索引值是从1开始的
            sql.setInt(2, 50);
            set = sql.executeQuery();
            while (set.next()) {
                  print(set.getString("name"));
            }
            // 执行更改,删除
            Boolean success = statement.execute("update Whir_Cmn_Area set name=name+'1' where id=1");
            // 或者使用预处理
            sql = con.prepareStatement("update Whir_Cmn_Area set name=? where id=?");
            sql.setString(1, "北京北京");
            sql.setInt(2, 1);
            sql.executeUpdate();
 
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
posted @   evemen  阅读(192)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示