博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小博老师解析Java核心技术 ——JDBC参数化查询(一)
阅读量:5733 次
发布时间:2019-06-18

本文共 1969 字,大约阅读时间需要 6 分钟。

hot3.png

[引言]

我们在学习编程时,连接数据库技术(JDBC)是一项必备技能,我们经常需要读取或操作持久性存储的结构化数据。那么现在开始,小博老师就开始为大家讲解中的常用操作技术,今天我们来了解JDBC中对数据库的参数化操作。

 

[步骤阅读一]准备数据库

既然要连接数据库,那么我们首先得准备一个数据库(bwf)并且设计一个数据表(users用户表),具体信息如下:

接下来,我们给用户users数据表中添加4条测试记录:

[步骤阅读二]项目添加jdbc驱动

我们想要在项目中使用JDBC的功能,就必须要为项目添加JDBC驱动文件(jar),我们一般可以在各种数据库产品的官网上找到它们,例如mysql数据库则可以在: 中找到驱动文件。

为项目添加了JDBC驱动文件(jar文件)后,我们可以看到项目的Referenced Library中结构如下:

[步骤阅读三]普通查询操作实现用户登录

接下来,我们就进入了本文的重点了,通过一个简单的用户登录案例,我们先使用之前学习过的普通查询技术来实现,核心代码如下:

public class LoginFrame extends JFrame {

public LoginFrame(){

super("博为峰教育");

setBounds(200, 100, 400, 200);

setLayout(null);

// 实例化 控件

txtUname = new JTextField();

txtUname.setBounds(20, 20, 350, 25);

add(txtUname);

txtUpwd = new JTextField();

txtUpwd.setBounds(20, 50, 350, 25);

add(txtUpwd);

bt = new JButton("登  录");

bt.setBounds(20, 80, 80, 25);

add(bt);

// 给按钮控件添加监听器

bt.addMouseListener(new MouseListener() {

public void mouseReleased(MouseEvent e) {}

public void mousePressed(MouseEvent e) {}

public void mouseExited(MouseEvent e) {}

public void mouseEntered(MouseEvent e) {}

public void mouseClicked(MouseEvent e) {

try{

// 加载JDBC驱动

Driver driver = new Driver();

// 创建数据库连接对象

Connection conn = DriverManager.getConnection(

"jdbc:mysql://127.0.0.1:3306/bwf?useUnicode=true&characterEncoding=utf8",

"root","");

// 创建数据库操作申明对象

Statement stmt = conn.createStatement();

// 根据用户填写的账户名称和密码,向数据库发送查询语句,查询满足条件的用户记录

ResultSet rs = stmt.executeQuery("select * from users where uname='"+txtUname.getText()+"' and upwd='"+txtUpwd.getText()+"'");

// 判断查询的结果集中是否有满足条件的记录

if(rs.next()){

// 有满足条件的记录,登录成功

JOptionPane.showMessageDialog(getContentPane(), "登录成功!");

}else{

// 没有满足条件的记录,登录失败

JOptionPane.showMessageDialog(getContentPane(), "账户名称或密码错误!请重新填写!");

}

}catch(Exception exception){

exception.printStackTrace();

}

}

});

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

private JTextField txtUname;

private JTextField txtUpwd;

private JButton bt;

}

运行后效果:

 

 

 

 

转载于:https://my.oschina.net/u/2971691/blog/825953

你可能感兴趣的文章
基础知识:python模块的导入
查看>>
Android MVC之我的实现
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
关于批处理-1
查看>>
Tomcat部署Web应用方法总结
查看>>
Python3 django2.0 字段加密 解密 AES
查看>>
CCNA实验之:网络地址转换(NAT)实验
查看>>
计算机网络原理笔记-停止等待协议
查看>>
确定当前记录和下一条记录之间相差的天数
查看>>
NYOJ32:组合数(DFS入门)
查看>>
使用Callable和Future接口创建线程
查看>>
sql语句返回主键SCOPE_IDENTITY()
查看>>
MongoDB培训
查看>>
机器学习开源项目精选TOP30
查看>>
代码分析系列 内存执行过程
查看>>
iOS开发-邮件发送
查看>>
/etc/resolv.conf文件详解
查看>>
【转】VC的MFC中重绘函数的使用总结(整理)
查看>>
JQuery日记_5.13 Sizzle选择器(六)选择器的效率
查看>>