发表于: 2018-03-27 23:04:43

1 667


小白学java第十四天,今天学习时间7-8小时



今天完成的事情:首先对前天的内容进行了复习,补一个小知识点

Hero h = new Hero();  //代表创建了一个新的对象。

h 是一个Hero变量,它被指向了这个新创建的对象 。

对昨天的知识进行一个小的补充(expected=ArithmeticException.class)检查被测方法是否抛出ArithmeticException异常 的用法

然后对JDBCTemplae进行了学习

JDBC的原理就是通过Connection这个类获取数据库的连接,

然后通过PreparedStatement类处理SQL语句,再通过它的.setObject方法传入数据,

最后通过方法.executeUpdate()和.executeQuery()执行更新,这就是JDBC的基本原理。

JDBCTemplate帮我们省去了很多麻烦.

②指定数据库连接参数.

打开数据库连接.

预编译并执行SQL语句.

遍历查询结果(如果需要的话).

处理抛出的任何异常.

处理事务.

关闭数据库连接

那么JDBCTemplate怎么做到的,这就和spring有关系了

SpringIOC容器将管理数据库连接的数据源当作普通Java Bean一样管理,

然后将数据源注入封装类JdbcTemplate中,


1.jdbctemplate和mybatis分别在什么情况下使用,jdbc template  和spring+mybatis一样吗?,和mybatis相比有什么优缺点?

这三个问题其实差不多.JDBCTemplate和Mybatis不一样,Mybatis的sql语句放在了mapper.xml文件里面.相当于配置在了环境当中,随时都可以使用. 而JDBCTemplate则是写在了实现类里面,使用的时候还要进行重新调用配置之类的. 以后的工作中可能对多个表进行操作,配置在环境中使用起来非常方便.

2.如何来控制数据库的打开关闭.

Class.forName("com.mysql.jdbc.Driver"); 这个初始化驱动就是打开了数据库链接

Connection c = DriverManager.//连接数据库,

//关闭数据链接

ps.close();

c.close();

而JDBCTemplate的打开关闭则是封装在JDBCTemplate当中.

3.jdbc 和 jdbctemplate 相比  效率有差别么

单从效率方面来说,实际上jdbc比jdbctemplate的效率会高一点.jdbcTemplate则更方便我们进行更改内容,和理解当中的逻辑.

4.jdbcTemplate 实现执行多条sql语句.

一种直接用mysql的批量处理语句.

另外一种拼接SQL语句直接一次性提交多少条数据.

5.jdbcTemplate有什么缺点

必须于Spring框架结合在一起使用、不支持数据库跨平台、默认没有缓存.


学了这些基础知识,对程序代码进行了学习,然后先复制了一片博客进行了试运行然后进行理解,可是弄了很久,程序是可以运行的,但是测试老是报错,也没有实现增删查改,但是程序是能走通的,(忘了截图了)后面直接用别的程序覆盖我的,就弄乱掉了,弄了几个小时没弄好之后,我决定去看看别的师兄的jdbctemplate进行学习,然后翻阅别的师兄的日志中,我发现有个比较有用的关于关键字的基础知识,然后进行了学习,消化

java的继承之关键字

1.final关键字的学习

知识点:使用final关键字做标示有“最终的”含义,不可修改,不可变化;

                final修饰类,则该类不允许被继承;修饰方法,该方法不能被重写;

                final修饰属性,则该类的属性不会进行隐式的初始化或在构造方法中赋值(方法二选一)如下:

                 (1)final public int age = 10;//声明时赋值

                 (2)final public int age;

                        public Alex(){

                         age = 10;//通过构造方法赋值

                        }

2.super关键字的使用

   知识点:(1)访问父类的对象:super.age;

                (2)访问父类的方法:super.eat();

                 结合代码学习知识点:



我们可以看到,代码在运行的时候执行了两次“Animal类执行了”这是因为子类的构造的过程中必须调用其父类的构造方法。而在代码中没有体现调用父类的构造方法,这是因为系统自动调用了父类的无参构造方法。

接下来再看一组代码复习另外的知识点:

在这里super关键字直接调用父类的方法以及访问父类的变量。

3.java中的object类

   知识点:(1)object类是所有类的父类,如果一个类没有使用extends关键字明确标识继承,则默认继承objecct类。

                 (2)toString()方法。如果我们在代码里直接输出一个对象,它会输出这个对象在内存中的地址,叫做哈希码;我们可以通过重写toString方法来标识出它的属性。如下代码:

 通过toString()方法让代码输出了变量的值。

(3)equals()方法:此方法比较的是对象的引用是否指向同一块内存地址,但是我们一般使用都是比较对象的值,所以要重写此方法。

这是重写之前,重写之后我们再看结果

这是方法重写之后的,我们实现了用equals()比较对象的值。

明天计划的事情:(学习jdbcTemplate) 
遇到的问题:(jdbcTemplate大致的结构差不多了解了。知识关于代码的知识还是有所欠缺,明天争取搞定) 
收获:(学习了关键字的秒用,之前一直看到super不知道其意思)




最后,还是要麻烦师兄批阅了


返回列表 返回列表
评论

    分享到