JDBC(Java Database Connectivity),即Java数据库连接。它是一种可以执行SQL语句的Java API
public static void main(String[] args) {
final String DRIVER="com.mysql.jdbc.Driver";
final String URL="jdbc:mysql://localhost:3306/test?characterEncoding=utf-8";
final String NAME="root";
final String PWD="root";//123456
PreparedStatement ps = null;
Connection conn =null;
try {
//1,注册驱动
Class.forName(DRIVER);
//2,获取连接
conn = DriverManager.getConnection(URL, NAME, PWD);
//3,编写sql语句
String sql="insert into user values(null,?,?,?,?)";
//4,创建sql处理对象
ps = conn.prepareStatement(sql);
//5,给sql处理对象设置值
ps.setString(1, "阳锦辉");
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String riqi = sdf.format(date);
ps.setString(2, riqi);
ps.setString(3, "男");
ps.setString(4, "长沙南方");
//6,执行sql语句(增删改都是用的executeUpdate,查询用executeQuery)
int num = ps.executeUpdate();
System.out.println(num);
} catch (Exception e) {
e.printStackTrace();
}finally {
//7,关闭资源
try {
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
二,JavaSwing
1,如何创建第一个窗体
创建窗体对象之后再对窗体进行设置
public class Test {
public static void main(String[] args) {
JFrame jFrame = new JFrame();
// 设置窗体的标题
jFrame.setTitle("这是一个窗体");
// 设置窗体的位置和大小setBounds(x,y,weight,height)
jFrame.setBounds(100, 200, 500, 400);
// 设置窗体图片
ImageIcon icon = new ImageIcon("D:\image\06.png");
jFrame.setIconImage(icon.getImage());
// 设置不能调整大小
jFrame.setResizable(false);
// 设置窗体关闭时退出程序
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 必须设置窗体可见
jFrame.setVisible(true);
}
}
在开发中一般都是通过构造方法设置窗体的属性
public class MainSwing extends JFrame {
public MainSwing() {
// 设置窗体的标题
this.setTitle("这是一个窗体");
// 设置窗体的位置和大小setBounds(x,y,weight,height)
this.setBounds(100, 200, 500, 400);
// 设置窗体图片
ImageIcon icon = new ImageIcon("D:\image\06.png");
this.setIconImage(icon.getImage());
// 设置不能调整大小
this.setResizable(false);
// 设置窗体关闭时退出程序
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
// 必须设置窗体可见
this.setVisible(true);
}
}
2,布局管理器的使用
布局管理器的作用:告诉窗体,其内部控件如何摆放
java中有哪些布局管理器:
2.1流式布局:public class FlowSwing extends JFrame {
public FlowSwing() {
// 设置窗体的标题
this.setTitle("这是一个窗体");
// 设置窗体的位置和大小setBounds(x,y,weight,height)
this.setBounds(100, 200, 500, 400);
// 设置窗体图片
ImageIcon icon = new ImageIcon("D:\image\06.png");
this.setIconImage(icon.getImage());
// 设置不能调整大小
this.setResizable(false);
// 设置窗体关闭时退出程序
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
//创建按钮对象
JButton jButton1 = new JButton("登录");
JButton jButton2 = new JButton("注册");
JButton jButton3 = new JButton("帮助");
JButton jButton4 = new JButton("退出");
JButton jButton5 = new JButton("新建");
this.setLayout(new FlowLayout(FlowLayout.CENTER,20,20));
//将按钮添加到窗体:不设置布局器的情况下默认将元素充满整个窗口并依次叠加
this.add(jButton1);
this.add(jButton2);
this.add(jButton3);
this.add(jButton4);
this.add(jButton5);
// 必须设置窗体可见
this.setVisible(true);
}
}
2.2网格布局:
public class GridSwing extends JFrame {
public GridSwing() {
// 设置窗体的标题
this.setTitle("这是一个窗体");
// 设置窗体的位置和大小setBounds(x,y,weight,height)
this.setBounds(100, 200, 500, 400);
// 设置窗体图片
ImageIcon icon = new ImageIcon("D:\image\06.png");
this.setIconImage(icon.getImage());
// 设置不能调整大小
this.setResizable(false);
// 设置窗体关闭时退出程序
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
//创建按钮对象
JButton jButton1 = new JButton("登录");
JButton jButton2 = new JButton("注册");
JButton jButton3 = new JButton("帮助");
JButton jButton4 = new JButton("退出");
JButton jButton5 = new JButton("新建");
JButton jButton6 = new JButton("新建");
JButton jButton7 = new JButton("新建");
JButton jButton8 = new JButton("新建");
JButton jButton9 = new JButton("新建");
GridLayout gridLayout = new GridLayout(3,3);
gridLayout.setHgap(5);//设置水平间距
gridLayout.setVgap(5);//设置垂直间距
this.setLayout(gridLayout);
//将按钮添加到窗体:不设置布局器的情况下默认将元素充满整个窗口并依次叠加
this.add(jButton1);
this.add(jButton2);
this.add(jButton3);
this.add(jButton4);
this.add(jButton5);
this.add(jButton6);
this.add(jButton7);
this.add(jButton8);
this.add(jButton9);
// 必须设置窗体可见
this.setVisible(true);
}
}
2.3边框布局:
public class BorderSwing extends JFrame {
public BorderSwing() {
// 设置窗体的标题
this.setTitle("这是一个窗体");
// 设置窗体的位置和大小setBounds(x,y,weight,height)
this.setBounds(100, 200, 500, 400);
// 设置窗体图片
ImageIcon icon = new ImageIcon("D:\image\06.png");
this.setIconImage(icon.getImage());
// 设置不能调整大小
this.setResizable(false);
// 设置窗体关闭时退出程序
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
//创建按钮对象
JButton jButton1 = new JButton("登录");
JButton jButton2 = new JButton("注册");
JButton jButton3 = new JButton("帮助");
JButton jButton4 = new JButton("退出");
JButton jButton5 = new JButton("新建");
BorderLayout borderLayout = new BorderLayout();
this.setLayout(borderLayout);
//将按钮添加到窗体:不设置布局器的情况下默认将元素充满整个窗口并依次叠加
this.add(jButton1,borderLayout.EAST);
this.add(jButton2,borderLayout.SOUTH);
this.add(jButton3,borderLayout.WEST);
this.add(jButton4,borderLayout.NORTH);
this.add(jButton5);
// 必须设置窗体可见
this.setVisible(true);
}
}
2.4.绝对定位
public class MySwing extends JFrame {
//文本框
JLabel jLabel;
JLabel jLabel2;
//输入框
JTextField jt1;
//密码框
JPasswordField jp1;
//按钮
JButton btn,btn2;
public MySwing() {
this.setTitle("控件的使用");
this.setBounds(200, 200, 500, 400);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//使用绝对定位,这句话不能省
this.setLayout(null);
jLabel=new JLabel("用户名");
jLabel.setBounds(150, 50, 50, 20);
jt1=new JTextField(10);
jt1.setBounds(200, 50, 100, 20);
jLabel2=new JLabel("密码");
jLabel2.setBounds(150, 100, 50, 20);
jp1=new JPasswordField(10);
jp1.setBounds(200, 100, 100, 20);
btn=new JButton("提交");
btn.setBounds(150, 150, 70, 20);
btn2=new JButton("提交");
btn2.setBounds(250, 150, 70, 20);
this.add(jLabel);
this.add(jLabel2);
this.add(jt1);
this.add(jp1);
this.add(btn);
this.add(btn2);
this.setVisible(true);
}
}
3.常用组件的使用
表格及基本组件的使用
public class MySwing extends JFrame {
public MySwing() {
this.setTitle("控件的使用");
this.setBounds(200, 200, 500, 400);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new FlowLayout());
//文本框
JLabel jLabel=new JLabel("用户名");
//输入框
JTextField jt1=new JTextField(10);
//创建图标
ImageIcon icon = new ImageIcon("D://image/06.png");
//设置图标的大小
icon.setImage(icon.getImage().getScaledInstance(20, 20, Image.SCALE_DEFAULT));
//文本框中添加图标
JLabel jLabel2=new JLabel(icon);
//密码框
JPasswordField jp1=new JPasswordField(10);
//按钮
JButton btn=new JButton("提交");
JButton btn2=new JButton("关闭");
//下拉框
JComboBox jComboBox = new JComboBox();
jComboBox.addItem("中国");
jComboBox.addItem("美国");
jComboBox.addItem("英国");
jComboBox.addItem("韩国");
//设置下拉框的最大显示条数
jComboBox.setMaximumRowCount(3);
//创建按钮组
ButtonGroup buttonGroup = new ButtonGroup();
//创建单选框
JRadioButton jRadioButton = new JRadioButton("男");
JRadioButton jRadioButton2 = new JRadioButton("女");
//将单选框添加至按钮组
buttonGroup.add(jRadioButton);
buttonGroup.add(jRadioButton2);
//设置表头
String[] title= {"姓名","年龄","电话"};
//设置表格关联数据
Object [][]ob= {
{"张三","12","243209832405"},
{"李四","23","243209832405"},
{"王五","34","243209832405"}
};
//创建表格
JTable jTable = new JTable(ob,title);
//创建滚动面板
JScrollPane jScrollPane = new JScrollPane(jTable,
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
this.add(jLabel);
this.add(jLabel2);
this.add(jt1);
this.add(jp1);
this.add(btn);
this.add(btn2);
this.add(jComboBox);
this.add(jRadioButton);
this.add(jRadioButton2);
this.add(jScrollPane);
this.setVisible(true);
}
}
菜单条的使用
public class JMenueSwing extends JFrame{
public JMenueSwing() {
this.setTitle("菜单条的使用");
this.setBounds(200, 200, 500, 400);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new FlowLayout());
//创建菜单条
JMenuBar jMenuBar = new JMenuBar();
//创建菜单
JMenu jMenu1 = new JMenu("文件");
//创建菜单项
JMenuItem jMenuItem1 = new JMenuItem("新建");
JMenuItem jMenuItem2 = new JMenuItem("打开");
JMenuItem jMenuItem3 = new JMenuItem("保存");
//将菜单项添加到菜单
jMenu1.add(jMenuItem1);
jMenu1.add(jMenuItem2);
jMenu1.add(jMenuItem3);
JMenu jMenu2 = new JMenu("编辑");
JMenu jMenu3 = new JMenu("格式");
//将菜单添加到菜单条
jMenuBar.add(jMenu1);
jMenuBar.add(jMenu2);
jMenuBar.add(jMenu3);
//将菜单条添加到窗体
this.setJMenuBar(jMenuBar);
//设置窗体显示
this.setVisible(true);
}
}



