小博老师解析Java核心技术 ——JDBC参数化查询(一)

[引言]

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

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

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

小博老师解析Java核心技术 ——JDBC参数化查询(一)_第1张图片

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

小博老师解析Java核心技术 ——JDBC参数化查询(一)_第2张图片

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

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

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

小博老师解析Java核心技术 ——JDBC参数化查询(一)_第3张图片

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

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

publicclassLoginFrameextendsJFrame {

publicLoginFrame(){

super("博为峰教育");

setBounds(200, 100, 400, 200);

setLayout(null);

// 实例化 控件

txtUname=newJTextField();

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

add(txtUname);

txtUpwd=newJTextField();

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

add(txtUpwd);

bt=newJButton("登  录");

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

add(bt);

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

bt.addMouseListener(newMouseListener() {

publicvoidmouseReleased(MouseEvente) {}

publicvoidmousePressed(MouseEvente) {}

publicvoidmouseExited(MouseEvente) {}

publicvoidmouseEntered(MouseEvente) {}

publicvoidmouseClicked(MouseEvente) {

try{

// 加载JDBC驱动

Driverdriver=newDriver();

// 创建数据库连接对象

Connectionconn= DriverManager.getConnection(

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

"root","");

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

Statementstmt=conn.createStatement();

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

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

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

if(rs.next()){

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

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

}else{

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

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

}

}catch(Exceptionexception){

exception.printStackTrace();

}

}

});

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

privateJTextFieldtxtUname;

privateJTextFieldtxtUpwd;

privateJButtonbt;

}

运行后效果:

小博老师解析Java核心技术 ——JDBC参数化查询(一)_第4张图片

小博老师解析Java核心技术 ——JDBC参数化查询(一)_第5张图片

你可能感兴趣的:(小博老师解析Java核心技术 ——JDBC参数化查询(一))