大一java期末考试题库(java题库最新版本)
各位老铁们好,相信很多人对大一java期末考试题库都不是特别的了解,因此呢,今天就来为大家分享下关于大一java期末考试题库以及java题库最新版本的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
java与数据库连接的问题
给你一个我的例子:这是连接数据库的类:
package mypackage;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
public class ConnectionData{
Connection myCon;
Statement myStatement;
public ConnectionData(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("成功加载驱动");
}catch(ClassNotFoundException e1){
e1.printStackTrace();
JOptionPane.showMessageDialog(null,"加载数据库驱动失败!","提示",JOptionPane.YES_OPTION);
}
try{
myCon=DriverManager.getConnection("jdbc:odbc:MyPhoneDataSource");
myStatement=myCon.createStatement();
System.out.println("成功连接数据源");
}catch(SQLException sqe){
JOptionPane.showMessageDialog(null,"连接数据源失败!","提示",JOptionPane.YES_OPTION);
sqe.printStackTrace();
}
}
public int UpdateData(String sql){
int result= 0;
try{
result=myStatement.executeUpdate(sql);
}catch(SQLException e){
JOptionPane.showMessageDialog(null,"sql语句执行失败!","错误提示",JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
return result;
}
public ResultSet QueryData(String sql){
ResultSet result= null;
try{
result=myStatement.executeQuery(sql);
}catch(SQLException e){
JOptionPane.showMessageDialog(null,"sql语句执行失败!","错误提示",JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
return result;
}
public void closeData()
{
try{
myStatement.close();
myCon.close();
} catch(SQLException e){
e.printStackTrace();
}
}
}
这是用户注册的类,里面有插入语句:
package mypackage;
import javax.swing.*;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;
public class UserLogin extends JDialog implements ActionListener{
private static final long serialVersionUID= 1L;
JLabel label1,label2;
JTextField textfield1,textfield2;
JButton button1,button2;
int myResultSet1=0;
ResultSet result;
public UserLogin(){
setTitle("用户注册");
this.setLayout(null);
label1=new JLabel("请输入用户名");
label1.setBounds(20,5,180,20);
textfield1=new JTextField(30);
textfield1.setBounds(110,5,100,25);
textfield1.addActionListener(this);
label2=new JLabel("请输入密码");
label2.setBounds(20,40,80,20);
textfield2=new JTextField(30);
textfield2.setBounds(110,40,100,25);
textfield2.addActionListener(this);
button1=new JButton("确定");
button1.setBounds(40,80,80,30);
button1.addActionListener(this);
button2=new JButton("取消");
button2.setBounds(130,80,80,30);
button2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
dispose();
}
});
add(label1);
add(textfield1);
add(label2);
add(textfield2);
add(button1);
add(button2);
this.getContentPane().setBackground(Color.cyan);
this.setModal(true);
this.setLocation(440,280);
this.setSize(260,180);
this.setVisible(true);
}
public void actionPerformed(ActionEvent arg0){
String inusername,inpassword;
inusername=textfield1.getText();
inpassword=textfield2.getText();
String sqllogin="insert into usertable values('"+inusername+"','"+inpassword+"')";
String sqlfind="select* from usertable where username='"+inusername+"'";
if(inusername.equals(""))
{
JOptionPane.showMessageDialog(null,"用户名为空,请重新输入","提示", JOptionPane.WARNING_MESSAGE);
}
else if(inpassword.equals(""))
{
JOptionPane.showMessageDialog(null,"密码为空,请重新输入","提示", JOptionPane.WARNING_MESSAGE);
}
else{
ConnectionData object=new ConnectionData();//建立连接
result=object.QueryData(sqlfind);
try{
if(result.next()){
JOptionPane.showMessageDialog(null,"用户名已存在,请重新输入","提示", JOptionPane.WARNING_MESSAGE);
textfield1.setText("");
textfield2.setText("");
}
else{
myResultSet1=object.UpdateData(sqllogin);
if(myResultSet1!=0){
JOptionPane.showMessageDialog(null,"用户注册成功!","提示",JOptionPane.INFORMATION_MESSAGE);
dispose();
}
}
} catch(SQLException e){
e.printStackTrace();
}
object.closeData();//断开连接
}
}
}
插入语句是:String sqllogin="insert into usertable values('"+inusername+"','"+inpassword+"')";
这个例子连接的是ACCESS数据库,希望能帮上你的忙。
java应用程序操作oracle数据库的问题
import java.sql.*;
public class TextOracle_AddTemplate{
public static void main(String ags[]){
add();
}
public static void add(){
Connection ct= null;//与特定数据库的连接(会话)。在连接上下文中执行 SQL语句并返回结果
PreparedStatement ps= null;//表示预编译的 SQL语句的对象。
ResultSet rs= null;//表示数据库结果集的数据表,通常通过执行查询数据库的语句生成
try{
//加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//得到连接
ct=DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.100:1521:allence","system","zhanshen");//"jdbc:oracle:thin:@ip地址:端口号:数据库名称","用户名"密码"
//创建PreparedStatement接口引用对象
ps=ct.prepareStatement("insert into emp(empno,ename)values(8888,'xiaoming')");//填写SQL语句<仅限制删除,增加更新语句>
System.out.println(ps);
//完成查询
ps.executeUpdate();
}catch(Exception e){
e.printStackTrace();//打印异常信息
throw new RuntimeException(e.getMessage());//抛出异常
}finally{
if(rs!=null){
try{
rs.close();
}catch(SQLException e){
e.printStackTrace();
}
rs= null;
}
if(ps!=null){
if(rs!=null){
try{
ps.close();
}catch(SQLException e){
e.printStackTrace();
}
ps= null;
}
if(ct!=null){
try{
ct.close();
}catch(SQLException e){
e.printStackTrace();
}
ps=null;
}
}
}
}
直接给你个用来控制增删改的模版,其实可以把增删改查的方法写到一个类里面的然后用另外一个类来控制整个程序,如果不这样做以后增加功能的时候可能会对整个程序造成一定的影响
java 递归数据库生成 树形结构问题
1、准备表结构及对应的表数据
a、表结构:
create table TB_TREE
(
CID NUMBER not null,
CNAME VARCHAR2(50),
PID NUMBER//父节点
)
b、表数据:
insert into tb_tree(CID, CNAME, PID) values(1,'中国', 0);
insert into tb_tree(CID, CNAME, PID) values(2,'北京市', 1);
insert into tb_tree(CID, CNAME, PID) values(3,'广东省', 1);
insert into tb_tree(CID, CNAME, PID) values(4,'上海市', 1);
insert into tb_tree(CID, CNAME, PID) values(5,'广州市', 3);
insert into tb_tree(CID, CNAME, PID) values(6,'深圳市', 3);
insert into tb_tree(CID, CNAME, PID) values(7,'海珠区', 5);
insert into tb_tree(CID, CNAME, PID) values(8,'天河区', 5);
insert into tb_tree(CID, CNAME, PID) values(9,'福田区', 6);
insert into tb_tree(CID, CNAME, PID) values(10,'南山区', 6);
insert into tb_tree(CID, CNAME, PID) values(11,'密云县', 2);
insert into tb_tree(CID, CNAME, PID) values(12,'浦东', 4);
2、TreeNode对象,对应tb_tree
public class TreeNode implements Serializable{
private Integer cid;
private String cname;
private Integer pid;
private List nodes= new ArrayList();
public TreeNode(){
}
//getter、setter省略
}
3、测试数据
public class TreeNodeTest{
@Test
public void loadTree() throws Exception{
System.out.println(JsonUtils.javaToJson(recursiveTree(1)));
}
/**
*递归算法解析成树形结构
*
*@param cid
*@return
*@author jiqinlin
*/
public TreeNode recursiveTree(int cid){
//根据cid获取节点对象(SELECT* FROM tb_tree t WHERE t.cid=?)
TreeNode node= personService.getreeNode(cid);
//查询cid下的所有子节点(SELECT* FROM tb_tree t WHERE t.pid=?)
List childTreeNodes= personService.queryTreeNode(cid);
//遍历子节点
for(TreeNode child: childTreeNodes){
TreeNode n= recursiveTree(child.getCid());//递归
node.getNodes().add(n);
}
return node;
}
}
输出的json格式如下:
{
"cid": 1,
"nodes": [
{
"cid": 2,
"nodes": [
{
"cid": 11,
"nodes": [
],
"cname":"密云县",
"pid": 2
}
],
"cname":"北京市",
"pid": 1
},
{
"cid": 3,
"nodes": [
{
"cid": 5,
"nodes": [
{
"cid": 7,
"nodes": [
],
"cname":"海珠区",
"pid": 5
},
{
"cid": 8,
"nodes": [
],
"cname":"天河区",
"pid": 5
}
],
"cname":"广州市",
"pid": 3
},
{
"cid": 6,
"nodes": [
{
"cid": 9,
"nodes": [
],
"cname":"福田区",
"pid": 6
},
{
"cid": 10,
"nodes": [
],
"cname":"南山区",
"pid": 6
}
],
"cname":"深圳市",
"pid": 3
}
],
"cname":"广东省",
"pid": 1
},
{
"cid": 4,
"nodes": [
{
"cid": 12,
"nodes": [
],
"cname":"浦东",
"pid": 4
}
],
"cname":"上海市",
"pid": 1
}
],
"cname":"中国",
"pid": 0
}
关于本次大一java期末考试题库和java题库最新版本的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。