x=((++i)-1)*5;
Stringsql="selecttop"
+x
+"*from(select*frombbcwherenamenotin(selecttop"
+x+"namefrombbcorderbyname))asA";
list=query(sql);
}elseif(i>=count){
list=null;
}
returnlist;
}
publicstaticintqueryCount(){
intcount=0;
Connectionconn=DBConnection.getConnection();
Stringsql="selectcount(*)frombbc";
Statementstmt=null;
ResultSetrs=null;
try{
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
while(rs.next()){
count=rs.getInt
(1);
}
}catch(SQLExceptione){
e.printStackTrace();
}finally{
try{
if(rs!
=null)
rs.close();
if(stmt!
=null)
stmt.close();
if(conn!
=null)
conn.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
returncount;
}
publicstaticListquery(Stringsql){
Connectionconn=DBConnection.getConnection();
Listlist=newArrayList();
Statementstmt=null;
ResultSetrs=null;
try{
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
while(rs.next()){
Countrycou=newCountry();
cou.setName(rs.getString
(1));
cou.setRegion(rs.getString
(2));
cou.setArea(rs.getString(3));
cou.setPopulation(rs.getString(4));
cou.setGdp(rs.getString(5));
list.add(cou);
}
}catch(SQLExceptione){
e.printStackTrace();
}finally{
try{
if(rs!
=null)
rs.close();
if(stmt!
=null)
stmt.close();
if(conn!
=null)
conn.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
returnlist;
}
publicstaticListupPage(){
Listlist=null;
if(i>2){
x=((--i)-1)*5;
Stringsql="selecttop"
+x
+"*from(select*frombbcwherenamenotin(selecttop"
+x+"namefrombbcorderbyname))asA";
list=query(sql);
}elseif(i==2){
list=queryFirst();
i--;
}elseif(i<2){
list=null;
}
returnlist;
}
publicstaticbooleanadd(Countrycou){
Connectionconn=DBConnection.getConnection();
PreparedStatementpstmt=null;
Stringsql="insertintobbcvalues(?
?
?
?
?
)";
intx=0;
try{
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,cou.getName());
pstmt.setString(2,cou.getRegion());
pstmt.setString(3,cou.getArea());
pstmt.setString(4,cou.getPopulation());
pstmt.setString(5,cou.getGdp());
x=pstmt.executeUpdate();
}catch(SQLExceptione){
e.printStackTrace();
}finally{
try{
if(pstmt!
=null)
pstmt.close();
if(conn!
=null){
conn.close();
}
}catch(SQLExceptione){
e.printStackTrace();
}
}
if(x==1){
returntrue;
}else{
returnfalse;
}
}
publicstaticbooleandel(Stringkey){
Connectionconn=DBConnection.getConnection();
PreparedStatementstmt=null;
Stringsql="deletefrombbcwherename=?
";
intx=0;
try{
stmt=conn.prepareStatement(sql);
stmt.setString(1,key);
x=stmt.executeUpdate();
}catch(SQLExceptione){
e.printStackTrace();
}finally{
try{
if(stmt!
=null)
stmt.close();
if(conn!
=null)
conn.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
if(x==1){
returntrue;
}else{
returnfalse;
}
}
publicstaticbooleanmodify(Countrycou){
Connectionconn=DBConnection.getConnection();
PreparedStatementpstmt=null;
Stringsql="updatebbcsetRegion=?
Area=?
Population=?
Gdp=?
wherename=?
";
intx=0;
try{
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,cou.getName());
pstmt.setString(2,cou.getArea());
pstmt.setString(3,cou.getPopulation());
pstmt.setString(4,cou.getGdp());
pstmt.setString(5,cou.getName());
x=pstmt.executeUpdate();
}catch(SQLExceptione){
e.printStackTrace();
}
if(x==1){
returntrue;
}else{
returnfalse;
}
}
}
主界面类
importjava.awt.Rectangle;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.util.List;
importjavax.swing.JButton;
importjavax.swing.JComboBox;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JScrollPane;
importjavax.swing.JTable;
importjavax.swing.JTextField;
importjavax.swing.SwingUtilities;
publicclassCountryInfoGuiimplementsActionListener{
privateJFramejFrame;
privateJPaneljContentPane;
privateJLabellblName=null;
privateJTextFieldtfName=null;
privateJLabellblRegion=null;
privateJComboBoxcbRegion=null;
privateJLabellblArea=null;
privateJTextFieldtfArea=null;
privateJLabellblPopu=null;
privateJTextFieldtfPopu=null;
privateJLabellblGdp=null;
privateJTextFieldtfGDP=null;
privateJButtonbtnAdd=null;
privateJButtonbtnDel=null;
privateJButtonbtnModify=null;
privateJButtonbtnQuery=null;
privateJButtonbtnUpPage=null;
privateJButtonbtnDownPage=null;
privateJTabletable=null;
TableModeltm=null;
JScrollPanejsp=null;
privateJTextFieldgetTfName(){
if(tfName==null){
tfName=newJTextField();
tfName.setBounds(newRectangle(89,17,173,27));
}
returntfName;
}
privateJComboBoxgetCbRegion(){
if(cbRegion==null){
String[]str={"请选择","亚洲","欧洲","非洲","北美洲","南美洲","大洋洲",
"南极洲"};
cbRegion=newJComboBox(str);
cbRegion.setBounds(newRectangle(360,17,229,28));
}
returncbRegion;
}
privateJTextFieldgetTfArea(){
if(tfArea==null){
tfArea=newJTextField();
tfArea.setBounds(newRectangle(89,61,173,27));
}
returntfArea;
}
privateJTextFieldgetTfPopu(){
if(tfPopu==null){
tfPopu=newJTextField();
tfPopu.setBounds(newRectangle(360,61,229,28));
}
returntfPopu;
}
privateJTextFieldgetTfGDP(){
if(tfGDP==null){
tfGDP=newJTextField();
tfGDP.setBounds(newRectangle(89,105,173,27));
}
returntfGDP;
}
privateJButtongetBtnAdd(){
if(btnAdd==null){
btnAdd=newJButton();
btnAdd.setBounds(newRectangle(46,152,71,30));
btnAdd.addActionListener(this);
btnAdd.setText("添加");
}
returnbtnAdd;
}
privateJButtongetBtnUpPage(){
if(btnUpPage==null){
btnUpPage=newJButton("上一页");
btnUpPage.addActionListener(this);
btnUpPage.setBounds(200,390,80,30);
}
returnbtnUpPage;
}
privateJButtongetBtnDownPage(){
if(btnDownPage==null){
btnDownPage=newJButton("下一页");
btnDownPage.addActionListener(this);
btnDownPage.setBounds(300,390,80,30);
}
returnbtnDownPage;
}
privateJButtongetBtnDel(){
if(btnDel==null){
btnDel=newJButton();
btnDel.setBo