目前博主只实现了查询和插入,而且还不太会在面板对数据库语句进行更新,写完再看感觉语言有些冗杂,往后再更,大半夜写这个也是醉了呢。
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import java.awt.event.*;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MysqlTest
{
public static void main ( String [ ] args ) {
WindowMysql my = new WindowMysql ( );
my.setTitle ( "Java连接数据库插入数据示例" );
my.setBounds ( 100 , 100 , 500 , 500 );
}
}
class WindowMysql extends JFrame implements
ActionListener
{
JTextField mysno, mysname,mysage,myaddress;
JButton myadd;
JTextArea text;
mysql m;
public WindowMysql( ) {
m=new mysql();
setDefaultCloseOperation( EXIT_ON_CLOSE );
JPanel p1 = new JPanel ( );
p1.add ( new JLabel ( "学号" ) );
mysno = new JTextField ( 4 );
p1.add ( mysno );
p1.add ( new JLabel ( "姓名" ) );
mysname = new JTextField ( 4);
p1.add ( mysname );
p1.add ( new JLabel ( "年龄" ) );
mysage= new JTextField ( 4 );
p1.add ( mysage);
p1.add ( new JLabel ( "地址" ) );
myaddress = new JTextField ( 4 );
p1.add ( myaddress);
myadd = new JButton ( "添加数据入数据库" );
myadd.addActionListener ( this );
p1.add ( myadd );
getContentPane ( ).add ( p1 , "North" );
text = new JTextArea ( 15 , 20 );
getContentPane ( ).add ( text );
setVisible ( true );
}
public void actionPerformed ( ActionEvent e ) {
int sno1 = Integer.parseInt ( mysno.getText ( ) );
String sname1 = mysname.getText ( ) ;
int sage1 = Integer.parseInt ( mysage.getText ( ) );
String address1 = myaddress.getText ( ) ;
m.setsno ( sno1);
m.setsname(sname1);
m.setsage(sage1);
m.setaddress(address1);
try
{
Connection con;
Statement stmt;
ResultSet rs,rs1;
Class.forName("com.mysql.jdbc.Driver");
String dbUrl ="
jdbc:mysql://localhost:3306/xueji11?useUnicode=true&characterEncoding=GB2312";
String dbUser = "root";
String dbPwd = "root";
con = java.sql.DriverManager.getConnection(dbUrl, dbUser,
dbPwd);
stmt = con.createStatement();
String sql = "select * from student1";
stmt.executeUpdate("insert into
student1(sno,sname,sage,address)"+"values(1120,'王艺平',20,'唐山市')");
//stmt.executeUpdate("insert
into
student1(sno,sname,sage,address)"+"values(m.sno,m.sname,m.sage,m.address);");
rs = stmt.executeQuery(sql);
while(rs.next())
{
int sno
=
rs.getInt(1);
String sname
=
rs.getString(2);
int sage
=
rs.getInt(3);
String address =
rs.getString(4);
text.append("sno= "+sno+",sname= "+sname+",sage=
"+sage+",address="+address +"\r\n");
}
}catch(ClassNotFoundException cnfe){
JOptionPane.showMessageDialog(null,"数据源错误","错误",JOptionPane.ERROR_MESSAGE);
}catch(SQLException sqle){
JOptionPane.showMessageDialog(null,"数据操作错误","错误",JOptionPane.ERROR_MESSAGE);
}
}
}
class mysql
{
int sno;
String sname;
int sage;
String address;
public mysql( ) {
}
public void setsno ( int sno ) {
this.sno= sno;
}
public void setsname ( String sname ) {
this.sname= sname;
}
public void setsage ( int sage ) {
this.sage= sage;
}
public void setaddress ( String address ) {
this.address= address;
}
public int getsno(){return this.sno;}
public String getsname(){return this.sname;}
public int getsage(){return this.sage;}
public String getaddress(){return this.address;}
}