关于JDBC配置文件
数据库连接好后加入以下代码
?useUnicode=true&characterEncoding=utf8&mysqlEncoding=utf8
可以解决编码问题
java跳转页面
frame.dispose();
//进入新页面
Administrator ad = new Administrator();
ad.buildBoundary();
获取当前也免得大小
Toolkit.getDefaultToolkit().getScreenSize().
//新建文本框
JTextField inputSomething = new JTextField();
inputSomething.setEditable(true);
inputSomething.setColumns(11);
inputSomething.setBounds(x,y,width,height);
inputSomething.setFont(new Font(Font.SERIF,Font.PLAIN,22));
//获取输入输入框中输入的内容
String s1 = inputUserName.getText();
//新建密码输入框
JPasswordField jpf = new JPasswordField();
jpf.setColumns(11);
jpf.setBounds(x,y,width,height);
//获取密码框中的内容
String s2 = new String(inputUserPassword.getPassword());
//用java创建表格
JTable table = new JTable(tableData,tableHeader);
table.setPreferredScrollableViewportSize(new Dimension(600, 100));//设置表格的大小
table.setRowHeight (30);//设置每行的高度为20
table.setRowHeight (0, 20);//设置第1行的高度为15
table.setRowMargin (5);//设置相邻两行单元格的距离
table.setRowSelectionAllowed (true);//设置可否被选择.默认为false
table.setSelectionBackground (Color.white);//设置所选择行的背景色
table.setSelectionForeground (Color.red);//设置所选择行的前景色
table.setGridColor (Color.black);//设置网格线的颜色
table.selectAll ();//选择所有行
table.setRowSelectionInterval (0,2);//设置初始的选择行,这里是1到3行都处于选择状态
table.clearSelection ();//取消选择
table.setDragEnabled (false);//关闭拖动处理
table.setShowGrid (false);//是否显示网格线
table.setShowHorizontalLines (true);//是否显示水平的网格线
table.setShowVerticalLines (false);//是否显示垂直的网格线
table.doLayout ();
table.setBackground (Color.lightGray);
/*
在执行查询语句时如果查询的是一个表中的所有列可以通过ResultSet类中的getString或
getInt方法获取某一列的具体值,但是这一句代码一定要放在next()方法之后
*/
rs = pstmt.executeQuery();
rs.next();
r_type = rs.getString("r_type");
//在查找一个表中的所有信息时要将一个表中的数据全部装入一个对象集合中,为什么是集合而不是数组呢?
//因为要在数据库中插入和删除数据,数组的长度是固定好的,而集合的长度不是固定,可以随时插入和删除,方便增和删。
//在执行select * from rooms这句SQL语句时可以将所有的数据装入集合中,每一个条数据封装成一个对象,将列的数据封装进对象的成员变量中。
//通过while循环将数据装入集合中,对象在while循环中新建但是集合一定要在while的外面。
list = new ArrayList<>();
while (rs.next()) {
int r_id = rs.getInt(1);
int r_num = rs.getInt(2);
String r_type = rs.getString(3);
int c_number = rs.getInt(4);
ro = new rooms(r_id,r_num,r_type,c_number);
list.add(ro);
}
通过PreparedStatement的setString或setInt方法对SQL语句进行预处理,就是将while = 后面的东西不写死,而是进行传参,而参数不能直接进入SQL语句中所以需要进行预处理。
String sql = "delete from customer where c_name = ? and r_num = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,c_name);
pstmt.setInt(2,r_num);
网友评论