培训第一天----JDBC相关知识

1.数据库链接的4大步骤:(1).加载驱动类。(2).定义用户名username。(3).定义密码password。(4).定义数据库的链接路径。

2.通过4大步骤来获取java文件和数据库之间的链接对象。代码如下:

Connection con=DriverManager.getConnection(url,username,password);

3.进行查询时,如果条件过多,会使sql语句繁琐,可读性差。这样在进行传参时就需要进行字符串的拼接。例如:

String sql1=“select * from t_user where username=”+username+"and password"+password+........;

所以为了防止复杂的字符串拼接,我们可以使用占位符 ? 来充当变量。例如:

String sql2= "select * from t_user where usrename = ? and password = ?";

之后我们可以将该sql语句进行预编译,通过获取的链接对象调用preparedStatement()方法来将sql语句放入

预编译模板中。代码如下:

PreparedStatement ps1=con.preparedStatement(sql);

4.如果已经获取到了预编译模板,就可以通过模板调用相应的方法来执行sql语句来操作数据库。例如当查询的

时候,代码如下:

ResultSet rs1=ps1.executeQuery();

5.当用execute()方法来执行sql语句时,它的返回值是一个boolean布尔类型的。并且这里要主意的是,如果执行的

sql语句没有返回值,那么返回值就是false,与执行是否成功无关。比如创建一个表的时候,虽然表创建成功了,但返

回值还是false。代码如下:boolean result1=ps1.execute(“create table t_user1 (id int primaty key)”);

6.executeQuery()是一个查询方法,其返回值必然是一个结果集ResultSet类型,既然是一个集合,那么就一定要进

行遍历,这里会使用while循环来进行遍历,使用next()方法来判断光标下面是否还有数据,代码如下:

while( rs1.next()){

     Emp emp=new Emp(rs1.getString("username"),rs1.getString("password"),rs1.getInt("age"));

     System.out.println(emp);

}

注意如果上述代码的Emp类中没有重写toString()方法,那么输出的将会是这个对象的地址。

7.数据库语言分为数据库查询语言和数据库管理语言。其中select为DQL,而update,delete,insert为DML。

8.用快捷键生成有参构造函数和无参构造函数时,会在函数内部自动生成super();语句,这是在调用父类中的构造方法。

9.在sql语句中使用占位符会使语句变得非常简单,但是既然有占位符,就要给占位符赋值,赋值用预处理模板调用相应

的setXXX()方法,XXX取决与传入的参数类型,该方法有两个参数,一个是占位符的位置,一个是传入参数的参数名。

代码如下:

ps1.setString(1,"username");

ps1.setInt(2,"age");

这样就可以使sql语句变得更加的灵活。


猜你喜欢

转载自blog.csdn.net/qq_41160264/article/details/80932905
今日推荐