1.java编辑器和sql编辑器的连接:1.建立sql数据库;2.把mysql-connector-java-5.1.37解压后在eclipse.exe建立一个java项目;然后new一个folder文件夹名字叫lib
然后把mysql-connector-java-5.1.37-bin粘到lib文件夹下面,然后右键BuilPath-》add...把jdbc驱动添加到java的类里面
2.executeUpdate是sql语句的增删改操作,返回的是个int值是返回执行了几天语句,
3.executeQuery是sql语句的查询操作,返回的是ResultSet集合,需要用while(rs.next()){rs.getInteger()+rs.getString()的方法去除int和string类型的数据}
增删改的操作流程
1.创建驱动:Class.forName("con.mysql.jdbc.Driver");因为.formart()方法里面有个throws所以这里会报异常,也需要throws,这里声明的是用的那个数据库
2.创建连接对象: Connection conn=DriverManeger.getConnection(url,user,password);
String url="jdbc:mysql://localhost:3306/java0611?characterEncoding=utf8";
String user="root"; String password="123456"; 这里定义变量类型和方法参数一样,用来传的sql的账户和密码
3.创建执行对象: Statement sta=conn.createStatement();
4.编写sql语句: 添加:String sql="insert into sort(sname) values("口红")"; 修改:String sql="select * from sort";
5.执行语句: 添加的:int num=sta.executeUpdate(sql); 查询的:ResultSet rs=sta.executeQuery(sql);
6.打印结果: 添加:system.out.println(num);num是执行几条语句的返回值(int)
查询:while(rs.next()){ system.out.println(rs.getInteger(1)+"..."+rs.getString(2));因为返回的是的:ResultSet的集合所以需要循环遍历,.getInteger(1)和getString(2)的数字1和2
是打印sql第几列的意思,rs.next()是下一行的意思如果还有下一行怎返回true就继续打印,如果没有但会false
7.释放资源(先建立的后释放):rs.close(); sta.close(); conn.close();调用的对象需要.close()方法关闭不然会一直占用内存资源
8.这里面导的包都是java.sql的包
9.String url="jdbc:mysql://localhost:3306/java0611?characterEncoding=utf8";url:是数据库地址;3306:是端口的意思,java0611是具体连的那个库
10.一般传的字符串都要进行校验看看会抛出ClassNotFoundException异常,需要看看传递的是否符合规范
11.?characterEncoding=utf8是解决中午乱码的语句
12.Connection conn中的conn只能接受一个数据库,想连另一个就再建一个Connection conn2接收就行了;获得语句执行对象(就相当于sql编辑器里的小三角,执行按钮)