java连接Mysql数据库,对数据库进行常规操作,即最常见的增删改查操作。本文主要是解决新手在学习过程中会遇到的一些疑惑。java连接数据库成功后,可以使用sql语句对数据表格进行常规操作,若对sql(structured query language)不熟悉,可以在下载《数据库系统原理》,里面有详细的讲解。链接:https://pan.baidu.com/s/1GzVZdskzYeHeHJEwpgHfJw密码:3e46。
为了下面方便讲解,给出我自己创建的一个数据表格student,我给出这个表格的原因就是让大家看到不同类型字段在后面对应不同的操作。
CREATE TABLE `student` (
`Studentnumber` varchar(10) NOT NULL,
`gender`int(1) DEFAULT NULL,
`name`varchar(20) DEFAULT NULL,
`age`int(3) DEFAULT NULL,
PRIMARYKEY (`Studentnumber`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
然后为student表格添加了几条记录,添加记录的student表格如下图
因为对数据库的增删改查操作中连接数据库的语句是相同的,因此把连接数据库的几条语句放在这里,后面不再给出
Connection con; //声明Connection对象
String driver ="com.mysql.jdbc.Driver"; //驱动程序名
Stringurl="jdbc:mysql://localhost:3306/studentin?useUnicode=true&characterEncoding=utf8&useSSL=false";
String user = "root"; //MySQL配置时的用户名
String password = "12305"; //MySQL配置时的密码
Class.forName(driver); //加载驱动程序
con = DriverManager.getConnection(url,user,password); //getConnection()方法,连接MySQL数据库!!
之后要进行 con.isClosed()判断,如果true,则说明数据库连接不成功,false说明连接成功,才能进一步对数据库进行操作
上属语句是java连接数据库的核心代码,对第3行的url做以下解释:
URL定义了连接数据库时的协议、子协议、数据源标识。
书写形式:协议:子协议:数据源标识
协议:在JDBC中总是以jdbc开始
子协议:是桥连接的驱动程序或是数据库管理系统名称。 本例中是mysql
数据源标识:标记找到数据库来源的地址与连接端口。mysql的端口就是localhost:3306,studentin是表student所在的数据库
1查询操作
Statement statement = con.createStatement();//2.创建statement类对象,用来执行SQL语句!!
String sql = " select * from student whereStudentnumber=’2012050920’ ";
ResultSet rs = statement.executeQuery(sql);
这就是查询操作的一个例子,得到rs,即为查询结果。
对于查询的sql语句,其实是有两种情形的,分别如下:
1) 直接根据表中的学号进行查询,也就是上面的sql语句;
2) 查询条件给定的是变量,如果学号变量为number,那么查询语句如下:
String sql="select * from student where Studentnumber="+number;
St
而不能写成 String sql = " select * from student where Studentnumber=‘number’";
2 增添学生信息
首先我的添加页面如下:
4个文本框分别为tf1,tf2,tf3和tf4,接下来是获取文本框数据添加到student表中
String tf1_str=tf1.getText().trim();
String tf1_str=tf1.getText().trim();
String tf1_str=tf1.getText().trim();
String tf1_str=tf1.getText().trim();
String sql= "insert into studentvalues("+" ' "+tf1_str+" ' "+","+tf2_str+","+"' "+tf3_str+" ' "+","+tf4_str+")";
Statement statement=con. createStatement();
statement.execute(sql);
重点是sql语句,首先数据库的插入语句格式认为大家都明白,数据库中的sql语句和java中的sql语句基本是一致的,只不过java中的sql语句是String类型,当Statement对象执行sql操作的时候,可以看做直接把sql语句外围的双引号直接去除,然后把给语句传入sql数据库执行sql操作,因此一定要确保java中sql在去除双引号之后还是一条完整的sql语句,这一点非常重要,否则数据库无法进行操作。
对该例sql语句的分析:
数据表中第一个字段Studentnumber和第三个字段name都是varchar类型,第二个字段gender和第四个字段age都是int类型,因此tf1_str和tf3_str字段需要用单引号表示。