zoukankan      html  css  js  c++  java
  • 在intellij 下用java spring + Mysql + Hibernate 开发的第一个数据库demo

      准备:

        1、安装mysql.

        2、安装maven.

        3、准备好你的ide(eclipse,或intellij都行)

      正题:

          用spring的框架来构建项目,首先就是要知道AOP和DI是什么。(自己查)

      实现过程中有两类疑问?

      1、第一个是spring怎么实现我们没有new Bean然而能够拿到一些bean组件

      2、hibernate和Dao是什么,DaoSupport是什么,为什么有DaoImpl.Impl里面的templete是什么。

        第一类问题是来自对AOP,和DI不理解造成的。在spring中,一个bean对象可以在spring的上下文描述文件中定义好,也就是我们看到的很多的xml文件。xml文件中描述了每个bean是什么里面有什么属性。属性的类型来源等。当这些东西描述好了之后,spring的context会在我们初始化它的xml中去逐个搜索。把里面的bean在要使用的时候都能够初始化好,所以我们能够在上下文中通过一个bean的id直接拿到这个bean对象不用去初始化它。

      第二类是spring中数据库的一些知识:

      关键词解释:

      Hibernate是使用对象的方式访问数据库的一个第三方的类库,当然它是很有名的,在使用过程中我们只要配置一下实体类和数据库中表的关系的xml就可以把表和实体类建立一种联系。

        DAO是我们自己定义在工程中要对数据库进行的操作。templete是spring里面实现的一个增删改查的工具。我们定义了一个DAO接口,并用一个类来实现这个DAO接口就是我们看到的daoimpl,而daoimpl可能会继承一个daosupport这样的东西,这个东西会帮我们生成好初始化并配置好templete这个工具。我们只要到时候调用这个工具就可以实现我们要做的东西了(DAO 里面定义的方法)

    一句话概括:DaoImpl继承DaoSupport 并调用template来实现DAO中的数据业务。

    template负责处理流水作业流程,包括异常捕获,数据库链接等很多相似的非业务逻辑的功能,DAO是处理查询与更新数据库的类,而daoSupport则是对DAO的一层封装,不同的DAOsupport有不同的功能有的只是提供一个template这样的模版供你来模版上进行数据库的操作,有些则是不仅提供了模版还提供了orm如hibernate的daosupport.所以dao是继承daosupport来使用的.

    参考:https://www.mkyong.com/spring/maven-spring-hibernate-mysql-example/

    我也写了按照上面写了一遍:http://download.csdn.net/detail/zrical/9735801在这个链接可以下载

    要运行的前提

    1、你创建了一个mysql的本地数据库,并在其中创建一个表:

    CREATE TABLE  `mkyong`.`stock` (
      `STOCK_ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `STOCK_CODE` varchar(10) NOT NULL,
      `STOCK_NAME` varchar(20) NOT NULL,
      PRIMARY KEY (`STOCK_ID`) USING BTREE,
      UNIQUE KEY `UNI_STOCK_NAME` (`STOCK_NAME`),
      UNIQUE KEY `UNI_STOCK_ID` (`STOCK_CODE`) USING BTREE
    ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

    2、更改xml中关于数据库连接的配置,更改数据库名和表名为你创建的数据库和表。更改你的mysql登录密码.

    3、你的mysql要 start起来

    然后差不多就可以run了.

  • 相关阅读:
    jquery选择器(复习向)
    如何使元素/文字 垂直居中?
    mvc与mvvm的区别与联系
    python16_day26【crm 增、改、查】
    python16_day25【crm】
    python16_day24【restful、crm表构、认证】
    python16_day23【cmdb前端】
    django 【认证】
    python16_day22【cmdb注释】
    django【F和Q】
  • 原文地址:https://www.cnblogs.com/codetime/p/6275761.html
Copyright © 2011-2022 走看看