码迷,mamicode.com
首页 > 数据库 > 详细

Java - Java 连接 SQL

时间:2020-12-21 11:11:47      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:mysq   test   系统   closed   ems   mdi   cte   stat   cut   

Java 连接SQL

数据库连接

import java.sql.*; // 全部导入

public class DemoFrame{
    public static Connection conn = null;
    public static Statement stmt = null; 
    	// 尽管将stmt设为全局比较方便,但一个stmt使用多次可能会出现错误(rs未关闭),此时应该先写rs.last();
    	// 更好的方法,是将stmt 设为局部变量,每次需要执行新语句都重新创建stmt
    	// Statement stmt1 = conn.createStatement();
    	// ResultSet rs = stmt1.executeQuery(...);
    
    public static void main(String[] args){
        try{
	      // 连接数据库
	      conn = DriverManager.getConnection("jdbc:mysql://localhost/myshop?serverTimezone=GMT%2B8&characterEncoding=utf8","root", "");
              EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					DemoFrame frame = new Hahah(); // 创建窗口
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
        }catch(SQLException ex){
		// 输出提示信息
		JOptionPane.showConfirmDialog(null,"发生意外错误","系统消息",JOptionPane.CLOSED_OPTION);
		ex.printStackTrace();
        }
    }
};

数据库操纵

  • 查询操作
stmt.executeQuery("...");
/*
MySQL语法格式:

select * from [table_name] where [boolean expression]

e.g: 查询商品名为‘小汽车‘的商品信息

MySQL:    select * from items where 名称=‘小汽车‘
Java: 
	Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("select * from items where 名称=‘小汽车‘");
*/
  • 插值操作
stmt.executeUpdate("...");
/*
MySQL语法格式:
insert into [table_name] values(a,b,c,d,e,...)

e.g: 插入一条商品信息

MySQL:	insert into items values(‘001‘,‘小汽车‘,100,100,0);
Java:
	Statement stmt = conn.createStatement();
	stmt.executeUpdae("insert into items values(‘001‘,‘小汽车‘,100,100,0)");
*/
  • 改值操作
stmt.executeUpdate("...")
/*
MySQL语法格式:
update [table_name] set [c1]=[v1],[c2=v2],... where [boolean expression]

e.g: 修改商品编号为001的商品,使其价格变为100,库存变为200

MySQL: update items set 单价=100 where 编号=‘001‘
Java:
	Statement stmt = conn.createStatement();
	stmt.executeUpdate("update items set 单价=10,库存=200 where 编号=‘001‘");
*/

ResultSet 使用

这一部分很简单,不需要了解太多

ResultSet rs = stmt.executeQuery("..."); // 获取方式
while(rs.next()){
    // rs.getString( cNum )
    // rs.getInt( cNum )
}

只有一点需要注意,rs在调用get()方法之前,一定要执行.next()

Java - Java 连接 SQL

标签:mysq   test   系统   closed   ems   mdi   cte   stat   cut   

原文地址:https://www.cnblogs.com/popodynasty/p/14141086.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!