传智播客java学习 jdbc初步
我今天学习了用jdbc连接数据库的知识,我做了简单的笔记:
1.数据库的url jdbc:mysql://loaclhost:3306/test
jdbc:表示连接数据库使用的是jdbc协议
mysql:表示连接数据库的子协议,不同的数据库使用的协议不 一样
localhost:数据库服务器所在的ip地址
3306 :使用的端口号
test:连接的数据库
2.Class.forname("com.mysql.jdbc.Driver")
它加载了字节码,但不调用com.mysql.jdbc.Driver类的构造方 法,
它注册了驱动,调用的是com.mysql.jdbc.Driver的静态代码 块
3.连接数据库有异常时,用try-catch处理
4.创建statement对象,可以看成一个容器,用来运送sql语句,
stmt=conn.createStatemrnt();
5.组织sql语句,
String sql="insert into test(id,name)
values(null,'ccc')"; null代表自增
执行sql语句:int k=symt.executeUpdate(sql);
executeUpdate 可以执行给定的sql语句,
执行DML(insert update delete)返回值是影响的行数,
执行DDL(create alter drop)语句 返回值是0
6.关闭连接:先关statement,在关conn,
if stmt!=null stmt.close();
if conn!=null conn.close();
7.执行数据库的查询语句;
***************方法一:
String sql="select id ,name from test";
Resultset rs= stmt.executeQuery(sql);//返回值为Resultset
Resultset 是一个结果集,跟表的结构类似,
8.从Resultset 里面取数据时,光标处于第一行数据的前面,
rs.next();//将结果集的光标下移一行,
rs.getXxxxx(columneLable) 参数是列的索引值,该索引值从1 开始 2 3...
int id=rs.getInt(1);//取第一列数据,
String name=rs.getString(2);//取第二列数据
9.使用while遍历 //不用判断rs!=null ,因为rs 永远不为空
while(rs.next){
int id=rs.getInt(1);
String name=rs.getString(2);
system.out.print(id+" "+name);
}
10.关闭的顺序:rs stmt conn
***********方法二:
rs.next();//将结果集的光标下移一行,
如果未指定 SQL AS 子句,则标签是列名称
int id=rs.getInt("id");//取列为"id"数据
String name=rs.getString("name");//取列
相关文档:
public class select {
public List XiuGai_select(String keyword){
List list=new ArrayList();
Connection conn = null;
Statement stmt = null;
String sql=null;
ResultSet res = null;
get ......
注释的原则
1、 注释形式统一
在整个应用程序中,使用具有一致的标点和结构的样式来构造注释。如果在其他项目组发现他们的注释规范与这份文档不同,按照他们的规范写代码,不要试图在既成的规范系统中引入新的规范。
2、 注释的简洁
内容要简单、明了、含义准确,防止注释的多义性,错误的注释不但无益反而有害。
......
从JavaSE 到JavaEE
再从corejava1,corejava11,Java Language Specification, Second(Third) Edition, Think in java,Data Structure java depth Adventrue)
转到JavaEE(EJB,Spring,Hibernate,Webwork,struts1,strut2,jsp,servlet)
从开源组织再到自组织,再到corejava1,corejava11
到JavaWebServer,java Web Prog ......
1. doGet vs doPost
这个问题,老师讲得不是很清晰,仅仅讲了doGet是可以取出参数值在url中的参数。以下内容copy自网络:
“get只有一个流,参数附加在url后,地址行显示要传送的信息,大小个数有严格限制且只能是字符串。
post的参数是通过另外的流传递的, 不通过url,所以可以很大,也可以传 ......