• Geek_6a506d
    2019-02-16
    老师后面代码能不能简单加些注释!!!
    
     29
  • 简简单单
    2019-06-28
    老师注意休息 眼睛都是红的呢!
    
     12
  • zhouyn
    2019-02-12
    老师,看完视频有个疑问,在进行批处理的时候,batchInsert那个方法里面,传入了一个i,但是在调用的时候没有看到传入i的值,为什么最后输出的是b-0和b-1呢?是因为getSize返回的是2,所以就输出了2个数么?

    作者回复: size设置了这个Batch的大小,实际在JdbcTemplate里,有一个循环:
    for (int i = 0; i < batchSize; i++) {
        pss.setValues(ps, i);
        ...
    }
    所以就有了你看到的效果

    
     11
  • td901105
    2019-05-08
    您好,我想问一下spring-jdbc是不是和JPA, mybatis这些是工具是否是可以相互替换的,其实他们实现的都是相同的功能,只是使用方式上不一样?

    作者回复: JPA是规范,Hibernate才是实现,Hibernate和MyBatis 都能用来做数据的存取操作,它们底下是JDBC支持。我想你提问里说的应该是spring-data-jdbc,它的定位和Hibernate还有MyBatis是一样的,用来方便地操作数据。

    
     10
  • 陈悬高
    2019-05-17
    周大军提出的问题:如何查看 H2 内存数据库的内容?

    你应该在应用程序中运行 H2 web server,这样就可以通过 H2 Console 来访问内存数据库。在 Spring 应用程序中,你可以在应用上下文中声明了一个 web server bean:

    ```java
    import org.h2.tools.Server;
    ...

    @Configuration
    public class DataConfig {

        @Bean(initMethod = "start", destroyMethod = "stop")
        public Server h2WebServer() throws SQLException {
            return Server.createWebServer("-web", "-webAllowOthers", "-webDaemon", "-webPort", "8082");
        }
    }
    ```

    现在,在应用程序运行期间,你可以在浏览器中输入 http://localhost:8082 来访问数据库了。

    参考 [View content of H2 or HSQLDB in-memory database](https://stackoverflow.com/questions/7309359/view-content-of-h2-or-hsqldb-in-memory-database)。
    展开

    作者回复: 谢谢,我也学习了

     1
     8
  • Gary
    2019-02-13
    老师,我有点晕,数据源不就是指数据库吗?用了jdbc好像什么都可以了,还需要mysql的什么驱动吗?一直从事c++开发,java语法倒可以理解,概念好多。

    作者回复: JDBC只是连接的抽象,具体每个数据库都是要靠自己的驱动来实现这个抽象的。

    
     5
  • 2018
    2019-03-03
    本小节视频主要讲了:
    1 springboot 定义bean的几个常用注解:@Component;@Responsity;@Service;@Controller;@ResController
    2 springjdbc的基本单sql增删改查方法
    3 springjdbc的批量处理sql方法
    简单记录下,还漏了啥嘛?
    
     4
  • Lee KouKuKing
    2019-02-19
    老师你好,我看到springboot的main函数类中实现了CommangLineRunner这个接口,我也网上查了一下这个接口的用法。但是这里我发现启动后不像服务一直运行着,而是像应用程序那样运行一次就结束了,难道springboot启动类实现这个接口就是这样的效果吗?谢谢

    作者回复: 你没有加Web的Starter依赖自然就不会启动Web容器,运行后就结束了

    
     4
  • Demon.Lee
    2019-02-13
    谢谢老师,只是spring boot 里面这个spring.jpa.open-in-view=true配置默认就是true的,配置了也解决不了问题,好像只有web请求才有用,我现在是非web请求,两个应用中直接调service,增加这个配置spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true好像有点效果,但是有时出现死循环查询。

    作者回复: 额,看来是我表述不当,我不是让你通过open session in view来解决问题,而是希望通过这个你能理解为什么会有这个问题。会话还是会和连接关联在一起的,也就是事后获取总是有成本的,如果你这个接口就是要返回所有的数据,那获取时就可以把所有数据拉回来。如果上游系统调用后有的要这些数据,有的不要这些,那可以明确地在接口上区分出来,无论是用参数,还是新拆一个接口,这样是不是会更合理一些呢。

     1
     4
  • 风酒殇
    2019-07-10
    很多人都说spring jdbc比mybatis好,但是为什么现在还是用mybatis比较多呢,很少看见用spring jdbc的。

    作者回复: 你说的是不是Spring Data JDBC?我好像没怎么看到过你说的这个观点诶。一个是在简化编程时JDBC的操作,另一个是在做ORM。而且实际在业务系统开发时,使用ORM的方式更多一些,毕竟通常情况下自己写JDBC操作还是相对繁琐一些。

    
     3
  • jh.mai
    2019-02-19
    老师好,如果一个jdbc方法操作多个数据源,如何保证事务一致性哦,要有什么比较好的办法吗?

    作者回复: 能避免的话就尽量避免分布式事务,用最终一致的方式

    
     3
  • 忘
    2019-11-17
    丁老师,我感觉我需要几本springboot和spring的书,有一些基础和现在流行的我都不会,可推荐一下吗?我想学透一些,然后做项目!做springboot的数据量可能在百万到千万级的!

    作者回复: 看看《Spring实战》吧。先学透再做项目的想法本身还是有点问题的,只有做了项目才能明白你学的东西。另外,SpringBoot和你的数据量没什么关系,它只是帮助你开发的框架,帮你聚焦在你的业务逻辑。

    
     2
  • 郑洋
    2019-03-31
    老师,您好!我看完了Spring配置数据源几个章节之后,自己总结了一下,麻烦您帮我看一下理解对不对。
    Spring配置数据源三个要素:
    1.驱动
    jdbcDriver
    不同的数据源配置不同的驱动:如mysql配置com.mysql.jdbc.Driver
    2.数据源
    Spring内置了DriverManagerDataSource,但只是连接作用,没有提供连接池
    常用的数据源有:JNDI、Dbcp、C3p0、Hikari、Druid,不仅提供数据源,而且管理连接池
    3.数据库操作
    Spring内置了JdbcTemplate,其封装了java的jdbc操作
    展开

    作者回复: Spring Boot的自动配置会根据你的URL来推测驱动的,所以你提供JDBC URL、用户名和密码就好了。
    JNDI不是连接池,你可以再去了解下JNDI是什么,你可以通过JNDI获取到事先配置好的连接池。

    
     2
  • Teanmy
    2019-03-31
    老师,看了全工程代码,SimpleJdbcDemoApplication工程,没有看到任何地方有初始化DataSource的,请问dataSource在哪里初始化了?

    作者回复: Spring Boot的自动配置发现CLASSPATH里有H2,你又没有配置DataSource,就自动配置了一个H2的DataSource,后面课程有详细介绍的

    
     2
  • Jason
    2019-03-10
    老师您好,为什么这个项目我没有看到数据源的配置呢?

    作者回复: 因为使用了Spring Boot的自动配置,我们在课程中大量地用了自动配置来简化配置工作。关于背后的原理,我们会在Spring Boot章节里展开。

     1
     2
  • 二木🐶
    2019-02-20
    廖老师,请教下目前主流的开发是用spring 的jdbctemplate呢?还是用mybatis 来处理 Dao呢?

    作者回复: 我想主流的应该在日常用orm框架更多一些吧,至少我们在工作中以mybatis为主

    
     2
  • Demon.Lee
    2019-02-12
    最近遇到一个问题,不知道老师您那边是否有好的解决方案。
    使用spring boot 开发(结合阿里云的Pandora),dao层使用jpa,微服务架构,RPC调用使用的是HSF,比如A应用调用B应用中的service,如果B应用中的service查询表数据时,对应的模型使用了懒加载(即关联了另一张表),此时就会报错:org.hibernate.LazyInitializationException: could not initialize proxy [xxx.com.xxx.xxx] - no Session
    google了很多方案,没有找到好的解决方案。是否RPC框架不太适合使用jpa的懒加载策略?

    作者回复: 没用过Pandora,不过看了你的描述,感觉和RPC也没啥关系,你如果是个Web应用估计也是一样的,可以搜下Open Session in View,然后你大概就能明白怎么回事了。如果看完还没明白,我再来和你解释一下吧。

    
     2
  • lovetyt
    2019-02-27
    老师能讲解一下spring上下文吗,至今对“上下文”这个词没有一个具体的概念和理解

    作者回复: ApplicationContext的话题,我们放在Web的章节中会有讲解

    
     1
  • Dangelo
    2019-02-19
    老师您好,我一直有个疑问,就是直接使用JDBC template进行sql操作,把sql直接写在JAVA代码中,这种方式有项目实际使用的可能性吗? 这种方式只在各种Demo中见过,感觉只会用在Demo中吧?项目中都是mybatis之类的

    作者回复: 有,如果你的SQL都不复杂,是可行的。但可维护性的确是不怎么样,不够直观

    
     1
  • 𝓢𝓸:𝓵𝓸
    2019-02-16
    老师,请问 resources 文件夹下的 schema.sql 和 data.sql 文件是如何得到加载并执行的呢?

    作者回复: 内嵌数据库才会有这个特性,是Spring Boot的EmbeddedDatabaseBuilder里实现的。在创建DataSource时添加了schema.sql和data.sql,EmbeddedDatabaseFactoryBean的initDatabase里执行的。

    
     1
我们在线,来聊聊吧