Java怎么连接如何登录mysql数据库库并实现登录功能?

本帖子已过去太久远了,不再提供回复功能。Java连接MySQL数据库并进行内容查询_Linux编程_Linux公社-Linux系统门户网站
你好,游客
Java连接MySQL数据库并进行内容查询
来源:Linux社区&
作者:xwlych
最近用框架做了几个项目,感觉当初底层的东西有点忘了,写一个JDBC的简单的连接代码来熟悉回顾一下,也希望对刚接触的新手能有所帮助。这也是我的第一篇随笔,废话不多说,直接上代码:
public Connection getCon() {
//数据库连接名称
String username="root";
//数据库连接密码
String password="";
String driver="com.mysql.jdbc.Driver";
//其中test为数据库名称
String url="jdbc:mysql://localhost:3306/test";
Connection conn=null;
Class.forName(driver);
conn=(Connection) DriverManager.getConnection(url,username,password);
}catch(Exception e){
e.printStackTrace();
通过以上代码就可以直接连接到数据库了,当然前提你必需导入连接数据库的相关的jar包mysql-connector-java-5.1.5-bin.jar(可自行百度下载)。然后以下是查询的方法:
public List&String& getSelect() {      // sql语句
String sql = "select * from user";      // 获取到连接
Connection conn = getCon();
PreparedStatement pst = null;
// 定义一个list用于接受数据库查询到的内容
List&String& list = new ArrayList&String&();
pst = (PreparedStatement) conn.prepareStatement(sql);
ResultSet rs = pst.executeQuery();
while (rs.next()) {
// 将查询出的内容添加到list中,其中userName为数据库中的字段名称
list.add(rs.getString("userName"));
} catch (Exception e) {
此时就可以在数据库中查询出数据了,我测试时用的数据库名称为test,新建的表的名称为user,里面的字段只有一个userName,大家可以根据自己的需求自行添加,以下是对上述内容的测试:
public static void main(String[] args) {
     //其中TestDao为类名
TestDao dao = new TestDao();
     //新建一个list得到查询方法中返回的集合
List&String& list = dao.getSelect();
     //对得到的list进行遍历输出到控制台中
for (int i = 0; i & list.size(); i++) {
System.out.println(list.get(i));
为方便起见,上述三个方法均写在TestDao这个类中,当然复制代码之后需要导入相对应的包,导入包的快捷键为Ctrl+Shift+O,如果有什么不足或者错误的地方希望大家指出,期待大家共同进步。
本文永久更新链接地址:
相关资讯 & & &
& (01/01/:47)
& (09/17/:48)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款使用JFinal框架连接数据库,实现注册、登录功能
1、在Eclipse中新建Dynamic Web project项目
2、导入jfinal-2.2-bin-with-src.jar、c3p0-0.9.5.1.jar、mchange-commons-java-0.2.10.jar、mysql-connector-java-5.1.20-bin.jar包
3、修改web.xml
4、在src目录新建mon包,在包中新建MainConfig.java,继承JFinalConfig
5、在WebRoot目录下新建user文件夹,在user文件夹中新建login.jsp、register.jsp
register.jsp
在MainConfig.java中的configConstant方法中添加:
me.setViewType(ViewType.JSP);
在MainConfig.java中的configRoute方法中添加:
me.add("/user", UserController.class);
6、打开MySQL数据库可视化工具,在数据库中新建customer表
7、使用c3p0数据源连接MySQL数据库
1)在src目录下新建config.properties 文本(File)文件
jdbcUrl = jdbc:mysql://localhost:3306/数据库名称
user = root
password = root
2)在MainConfig.java中的configConstant方法中添加:
PropKit.use("config.properties");
在configPlugin方法中添加:
C3p0Plugin c3p0Plugin = new
C3p0Plugin(PropKit.get("jdbcUrl"),PropKit.get("user"),PropKit.get("password"));
ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin);
arp.setShowSql(true);
arp.addMapping("customer", User.class);
me.add(c3p0Plugin);
me.add(arp);
3)新建com.model包,在包中新建User.java,在User.java中添加:
public static final User dao = new User();
8、新建com.controller包,在包中新建UserController.java,继承Controller,添加代码:
public void register(){
render("register.jsp");
&&& public void
render("login.jsp");
&&& public void
&&& String name
= getPara("username");
&&& String
password = getPara("password");
&&& List users =
User.dao.find("SELECT * FROM customer WHERE user = '"+name+"' AND
password = '"+password+"'");
setAttr("users", users);
if(users.size() & 0){
System.out.println("登录成功");
&&& }else{
System.out.println("登录失败");
&&& public void
&&& User user =
getModel(User.class, "user");
user.save();
System.out.println("注册成功");
9、测试运行
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。JavaWeb的数据库操作:通过JDBC连接MySQL数据库实现图书信息添加功能
JavaWeb的数据库操作
JDBC[Java数据库连接:Java Data Base Connectivity]连接数据局的过程:
1、注册数据库驱动:
连接数据库前,需要将数据库厂商提供的数据库驱动类注册到JDBC的驱动管理中。
Class.forName("com.mysql.jdbc.Driver");
2、构建数据库连接URL[统一资源定位器:Uniform Resource Locator]:
要建立数据库连接,就要构建数据库连接的URL(这个URL有数据库厂商制定,不同的数据库它的URL也有所区别)
都符号一个URL的基本格式,即"JDBC协议+IP地址或域名+端口号+数据库名称"
如MySQL数据库的URL:"jdbc:mysql://localhost:3306/test"。
3、获取Connection对象
在注册了数据库驱动及构建数据库URL后,就可以通过驱动管理程序获取数据库的连接Connection。
Connection对象是JDBC封装的数据库连接对象,获取方法如下:
Connection
conn=DriverManager.getConnection(url,username,password);
说明:1、Connection对象的获取需要用到DriverManager对象,DriverManager的
getConnection()方法通过数据库连接URL、数据库用户名及数据库密码创建Connection对象。
&2、在JDK中,不包含数据库的驱动程序,使用JDBC操作数据库,需要事先下载
数据库厂商提供的驱动包。MySQL官方提供的数据库驱动包(放置到项目的lib文件夹下),
其名称为:mysql-connectior-java-5.1.10-bin.jar。
&3、Connection连接;Driver驱动程序;Manager管理
关键代码:
&&&Class.forName("com.mysql.jdbc.Driver");&&//加载数据库渠道,注册到驱动管理器
url="jdbc:mysql://localhost:3306/test"; //数据库连接字符串
username="root";&&&//数据库用户名
password="123456";&&//数据库密码
&&&Connection
conn=DriverManager.getConnection(url,username,password);
//创建connection连接
&&&if(conn!=null){&&&&&//判断数据库连接是否为空
&&&&out.println("数据库连接成功!");//输出连接信息
&&&&conn.close();&&&&//关闭数据库连接
&&&&out.println("数据库连接失败!");
&&}catch(ClassNotFoundException
&&&e.printStackTrace();
&&}catch(SQLException e){
&&&e.printStackTrace();
//Java Web从入门到精通。 例10.3&
通过JDBC连接MySQL数据库实现图书信息添加功能&
1、新建MySql数据库名Books,表名tb_books:
USE `books`;
DROP TABLE IF EXISTS `tb_books`;
CREATE TABLE `tb_books` (
& `id` int(11) NOT NULL AUTO_INCREMENT COMMENT
& `NAME` varchar(45) NOT NULL COMMENT
'图书名称',
& `price` double NOT NULL COMMENT '价格',
& `bookCount` int(11) NOT NULL COMMENT '数量',
& `author` varchar(45) NOT NULL COMMENT
& PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
2、创建Book_10_3.java文件,用于封装图书对象信息。
public class Book_10_3 {
&private int
&private String
&//图书名称
&private int
bookC&//数量
&private String
&public int getId() {
&public void setId(int id) {
&&this.id =
&public String getName() {
&public void setName(String name) {
&&this.name =
&public double getPrice() {
&public void setPrice(double price) {
&&this.price =
&public int getBookCount() {
&&return bookC
&public void setBookCount(int bookCount) {
&&this.bookCount =
&public String getAuthor() {
&public void setAuthor(String author) {
&&this.author =
3、创建10.3-index.jsp页面,它是程序中的主页,用于放置添加图书信息所需要的表单,该表单提交到10.3-AddBook.jsp页面进行处理。
//Java Web从入门到精通。 例10.3(3)&
通过JDBC连接MySQL数据库实现图书信息添加功能 ( P214)
script type="text/javascript"
&function check(form){
&&with(form){
&&&if(name.value==""){
&&&&alert("图书名称不能为空!");
&&&&return
&&&if(price.value==""){
&&&&alert("价格不能为空!");
&&&&return
&&&if(bookCount.value==""){
&&&&alert("数量不能为空!");
&&&&return
&&&if(author.value==""){
&&&&alert("作者不能为空!");
&&&&return
&&& align="center" width="450"
border="0"&
4、创建10.3-AddBook.jsp页面,用于对添加图书信息请求进行处理,该页面通过JDBC所提交的图书信息数据写入数据库中。
//Java Web从入门到精通。 例10.3(4)&
通过JDBC连接MySQL数据库实现图书信息添加功能 ( P214)
&&Class.forName("com.mysql.jdbc.Driver");&&
//加载数据库驱动,注册到驱动管理器
url="jdbc:mysql://localhost:3306/books";&//数据库连接字符串
username="root";&&&&&&
//数据库用户名
password="123456";&&&&&
//数据库密码
&&Connection
conn=DriverManager.getConnection(url,username,password);
//创建Connection连接
&&if(conn!=null){&&&&&//判断数据库连接是否为空
&&&out.println("数据库连接成功!");//输出连接信息
&&&//conn.close();&&&&//关闭数据库连接
&&&out.println("数据库连接失败!");
&&String sql="insert into
tb_books(name,price,bookCount,author)
values(?,?,?,?)";&//添加图书信息的SQL语句
&&PreparedStatement
ps=conn.prepareStatement(sql);&//获取PreparedStatement
&&ps.setString(1,
book.getName());&&&//对SQL语句中的第1个参数赋值
&&ps.setDouble(2,
book.getPrice());&&&//对SQL语句中的第2个参数赋值
&&ps.setInt(3,
book.getBookCount());&&&//对SQL语句中的第3个参数赋值
&&ps.setString(4,
book.getAuthor());&&&//对SQL语句中的第4个参数赋值
&&int row =
ps.executeUpdate();&&&&//执行更新操作,返回所影响的行数
&&if(row&0){&&&&&&&&&//判断是否更新成功
&&&out.print("成功添加了"+row+"条数据!");&&//输出更新成功信息
&&ps.close();&&&&&&&&&//关闭PreparedStatement,释放资源
&&conn.close();&&&&&&&&//关闭Connection,释放资源
&}catch(Exception e){
&&out.print("图书信息添加失败!");
&&e.printStackTrace();
添加图书信息
图书名称:
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。用javaSwing和mysql数据库做的一个登录页面
一:首先在eclipse中新建一个java工程
二:然后新建一个包,并且在包中新建两个类:一个事登录用的界面(Login)类,一个事连接的(jdbc)类我建立的是p4这个包
三:导入包-connector-java-5.1.41-bin.jar并且要添加到构建路径不添加到构建路径项目工程不会读出来的
四:编写那个界面Login类
那个界面类的源代码如下:
package p4;
import java.awt.F
import java.awt.event.ActionE
import java.awt.event.ActionL
import javax.swing.JB
import javax.swing.JF
import javax.swing.JL
import javax.swing.JOptionP
import javax.swing.JP
import javax.swing.JPasswordF
import javax.swing.JTextF
public class Login extends JFrame implements ActionListener {
private JPanel pan = new JPanel();
private JLabel namelab = new JLabel(&用户名&);
private JLabel passlab = new JLabel(&密
private JTextField nametext = new JTextField();
private JPasswordField passtext = new JPasswordField();
public JButton denglu = new JButton(&登录&);
public JButton zhuce = new JButton(&注册&);
public JButton updatepass = new JButton(&修改密码&);
public JButton deleteuser = new JButton(&删除用户&);
public Login(){
Font font = new Font(&宋体&,Font.BOLD,12);
super.setTitle(&欢迎登录本&);
pan.setLayout(null);
namelab.setBounds(20,20,60,30);
nametext.setBounds(90,20,140,30);
passlab.setBounds(20,60,60,30);
passtext.setBounds(90,60,140,30);
denglu.setBounds(30,120,90,20);
zhuce.setBounds(140,120,90,20);
updatepass.setBounds(30,150,90,20);
deleteuser.setBounds(140,150,90,20);
pan.add(namelab);
pan.add(nametext);
pan.add(passlab);
pan.add(passtext);
pan.add(denglu);
pan.add(zhuce);
pan.add(updatepass);
pan.add(deleteuser);
passtext.setFont(font);
zhuce.setFont(font);
updatepass.setFont(font);
deleteuser.setFont(font);
denglu.addActionListener(this);
zhuce.addActionListener(this);
updatepass.addActionListener(this);
deleteuser.addActionListener(this);
super.add(pan);
super.setSize(300,250);
super.setVisible(true);
public static void main(String []args){
new Login();
public void actionPerformed(ActionEvent arg0) {
if(arg0.getSource()==denglu){
}else if (arg0.getSource()==zhuce){
}else if (arg0.getSource()==updatepass){
updatepass();
}else if (arg0.getSource()==deleteuser){
deleteuser();
//登录按钮的事件处理函数
public void denglu(){
= new Jdbcs();
String username = nametext.getText();
String password = passtext.getText();
pare(username, password)){
aJOptionPane.showMessageDialog(null,&登录成功!&);
super.setVisible(false);
//注册按钮触发后的事件处理函数
public void zhuce(){
= new Jdbcs();
String username = nametext.getText();
String password = passtext.getText();
d.insert(username,password);
//修改密码按钮触发后的事件处理函数
public void updatepass(){
pan.setEnabled(false);
JFrame frame1 = new JFrame(&密码修改&);
frame1.setSize(250, 200);
JPanel updatepass = new JPanel();
JLabel namelab1 = new JLabel(&用户名&);
JLabel passlab1 = new JLabel(&旧密码&);
JLabel newpasslab = new JLabel(&新密码&);
JTextField nametext1
= new JTextField(&&+nametext.getText());
JPasswordField passtext1 = new JPasswordField();
JPasswordField newpasstext
= new JPasswordField();
JButton ok = new JButton(&修改&);
JButton resert = new JButton(&重置&);
updatepass.setLayout(null);
namelab1.setBounds(5,5,70,20);
nametext1.setBounds(80,5,120,20);
passlab1.setBounds(5,30,70,20);
passtext1.setBounds(80,30,120,20);
newpasslab.setBounds(5,60,70,20);
newpasstext.setBounds(80,60,120,20);
ok.setBounds(10,110,60,20);
resert.setBounds(90,110,60,20);
updatepass.add(namelab1);
updatepass.add(nametext1);
updatepass.add(passlab1);
updatepass.add(passtext1);
updatepass.add(newpasslab);
updatepass.add(newpasstext);
updatepass.add(ok);
updatepass.add(resert);
frame1.add(updatepass);
frame1.setVisible(true);
ok.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
= new Jdbcs();
String username = nametext1.getText();
String password1 = passtext1.getText();
String newpassword = newpasstext.getText();
if(d.update(username,password1,newpassword)){
frame1.setVisible(false);
//重置文本框 里的内容
resert.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
nametext1.setText(&&);
passtext1.setText(&&);
newpasstext.setText(&&);
//删除用户按钮触发后的事件处理函数
public void deleteuser(){
String username = nametext.getText();
String password = passtext.getText();
Jdbcs s = new Jdbcs();
s.delete(username,password);
五:写连接数据库的代码以及用到的操作的源代码
jdbc这个类的源代码如下:
package p4;
import java.sql.C
import java.sql.DriverM
import java.sql.ResultS
import java.sql.SQLE
import java.sql.S
import javax.swing.JOptionP
public class Jdbc {
Connection con =
Statement statement =
ResultSet res =
String driver = &com.mysql.jdbc.Driver&;
String url
= &jdbc:mysql://localhost:3306/user&;
String name = &root&;
String passwd = &123456&;
public Jdbc(){
Class.forName(driver).newInstance();
con = DriverManager.getConnection(url,name,passwd);
statement = con.createStatement();
}catch(ClassNotFoundException e){
System.out.println(&对不起,找不到这个Driver&);
e.printStackTrace();
}catch(SQLException e){
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
//对用户信息的修改实际上就是对密码的修改
public boolean update(String username1,String password1,String newpassword){
boolean judge =
boolean s =compare(username1,password1);
String sql = &update user set password=\&&+newpassword+&\&where username=\&&+username1+&\&&;
int a = statement.executeUpdate(sql);
JOptionPane.showMessageDialog(null,&密码修改成功!&);
con.close();
statement.close();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, &用户不存在!&);
e.printStackTrace();
JOptionPane.showMessageDialog(null, &修改失败&);
//删除用户信息
public void delete(String username,String password){
if(compare(username,password)){
JOptionPane.showMessageDialog(null,&已经完成删除&);
String sql = &delete from user where username=\&&+username+&\&&;
statement.executeUpdate(sql);
con.close();
statement.close();
}catch(SQLException e){
JOptionPane.showMessageDialog(null,&不存在该用户!&);
e.printStackTrace();
//用户注册功能的实现,添加数据
public void insert(String username,String password){
String sql = &insert into user(username,password) values(\&&+username+&\&,\&&+password+&\&)&;
int a = statement.executeUpdate(sql);
con.close();
statement.close();
JOptionPane.showMessageDialog(null,&注册成功!&);
}catch(SQLException e){
JOptionPane.showMessageDialog(null, &对不起该用户名已经有了!&);
e.printStackTrace();
//对比用户名和密码是不匹配
public boolean compare(String username,String password){
boolean m =
String sql = &select password from user where username=\&&+username+&\&&;
res = statement.executeQuery(sql);
if(res.next()){
String pa = res.getString(1);
System.out.println(pa+& & +password);
if(pa.equals(password)){
JOptionPane.showMessageDialog(null, &密码错误!&);
JOptionPane.showMessageDialog(null, &用户名不存在!&);
res.close();
con.close();
statement.close();
}catch(SQLException e){
e.printStackTrace();
六:代码写完了 但是数据库还没有建立吧,那就建立数据库吧
先建立一个数据库
用到命令是
然后新建一个表:
create table user(username varchar(20) primary key, password varchar(20));
现在表是空的,往表中添加几个数据:
insert into user(username,password) values(&A&,&123456&),(&B&,&asdfg&);
七:系统界面如下:}

我要回帖

更多关于 如何登录mysql数据库 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信