1)eclipse开发环境里没有集成mysql的驱动,需要从以下地址下载连接驱动程序mysql-connector-java-XX-XX-XX.zip:
http://dev.mysql.com/downloads/connector/j
2)解压,只取文件mysql-connector-java-XX.XX.XX-bin.jar,将其引用到你需要连接mysql数据库的工程里,如:我在eclipsel里建了一个测试数据库连接的工程ConMysql。具体操作如下:
在工程ConMysql上点击右键
properties->Java Build Path->Libraries
点击Add External JARS...
选取解压后的mysql-connector-java-XX.XX.XX-bin.jar
3.编写测试代码1
import java.sql.*; public class MysqlJdbc { public static void main(String args[]) { try { Class.forName("com.mysql.jdbc.Driver"); //加载MYSQL JDBC驱动程序 //Class.forName("org.gjt.mm.mysql.Driver"); System.out.println("Success loading Mysql Driver!"); } catch (Exception e) { System.out.print("Error loading Mysql Driver!"); e.printStackTrace(); } try { Connection connect = DriverManager.getConnection( "jdbc:mysql://localhost:3306/mysql","root",""); //连接URL为 jdbc:mysql//服务器地址/数据库名 //后面的2个参数分别是登陆用户名和密码 System.out.println("Success connect Mysql server!"); Statement stmt = connect.createStatement(); ResultSet rs = stmt.executeQuery("select * from help_topic"); while (rs.next()) { System.out.println(rs.getString("name")); } } catch (Exception e) { System.out.print("get data error!"); e.printStackTrace(); } } }
4.编写测试代码2
import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPasswordField; import javax.swing.JTextField;
public class LoginFrame extends JFrame implements ActionListener{ JLabel label = new JLabel("请输入用户名和密码:"); JTextField tfName = new JTextField(""); //输入用户名的文本框 JPasswordField tfPassword = new JPasswordField(""); //输入密码的密码框 JButton button = new JButton("登录"); public LoginFrame() { this.setTitle("登录验证"); button.addActionListener(this); this.getContentPane().setLayout(new GridLayout(4,1)); this.getContentPane().add(label); this.getContentPane().add(tfName); this.getContentPane().add(tfPassword); this.getContentPane().add(button); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(300,200); this.setLocation(200,300); this.setVisible(true); } public void actionPerformed(ActionEvent e) { try{ /* * 连接MySQL数据库 */ Class.forName("com.mysql.jdbc.Driver"); Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/mysql","root",""); Statement stmt=conn.createStatement(); String sql = "select * from account where username='" + tfName.getText() + "'"; sql += " and password='" + tfPassword + "'"; //准备查询语句 ResultSet rs=stmt.executeQuery( sql ); if( rs.next() ) label.setText("合法用户"); //身份验证通过??? else label.setText("非法用户"); //身份验证没有通过????? }catch(Exception ee){ ee.printStackTrace(); } } public static void main(String[] args) { new LoginFrame(); } }