IDEA使用数据库的正确姿势

众所周知,Eclipse可以根据数据表自动创建实体类,IDEA自然也有此功能,今晚试着用了一下,有一些地方还是小卡了一下,所以记录下来以便后读:

  1. 设置database

《IDEA使用数据库的正确姿势》 点击这个按钮打开数据库面板

然后点 加号-datasource-MySql,设置数据库连接

《IDEA使用数据库的正确姿势》 数据库连接

这一步和我们生成实体类没有关系,只是作为我们查看数据方便,我觉得可以代替navcat或者workbench了,直接在idea李连接数据库不要太酸爽。

《IDEA使用数据库的正确姿势》 Paste_Image.png

2.. 打开Persistence面板
位置是View-Tool Windows- Persistence

我在这一步卡了一下,找不到Persistence选项,百度知这是由于没有配置Hibernate(idea用hibernate实现数据库映射,和你工程用不用hibernate没有关系,所以这个一定是要安装的)。这个选项一般在新建工程的时候有提供,但是我建立的是springboot项目,没有提示

《IDEA使用数据库的正确姿势》 右键工程,Modules-点右边的加号,添加JPA(注意不是spring data jpa)

会下载一些jar包到工程里,完毕后再次打开View-Tool Windows就能看到Persistence了,选择打开。

《IDEA使用数据库的正确姿势》 在persistence面板中右键你的工程,按上面选择,将会打开import database schema面板
《IDEA使用数据库的正确姿势》 箭头所示特别注意

上面红色箭头所指的文件是要自己建立的,其实就是idea用的hibernate的配置文件,放在resources文件夹下,我贴出来:

《IDEA使用数据库的正确姿势》 persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
             http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">

    <!--必须要有name属性,不能为空 -->
    <persistence-unit name="monodevJPA" transaction-type="RESOURCE_LOCAL">
        <mapping-file>com/monodev/mvcstudy/repository/UserEntity.xml</mapping-file>
        <class>com.monodev.mvcstudy.repository.UserEntity</class>


        <!--厂商的特定属性 -->
        <properties>
            <!--配置Hibernate方言 -->
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />
            <!--配置数据库驱动 -->
            <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
            <!--配置数据库用户名 -->
            <property name="hibernate.connection.username"/>
            <!--配置数据库密码 -->
            <property name="hibernate.connection.password"/>
            <!--配置数据库url -->
            <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/sampledb" />
            <!--设置外连接抓取树的最大深度 -->
            <property name="hibernate.max_fetch_depth" value="3" />
            <!--自动输出schema创建DDL语句 -->
            <property name="hibernate.hbm2ddl.auto" value="update" />
        </properties>
    </persistence-unit>

</persistence>

这样就可以了,点击确定后将在你制定的位置生成数据库对应的实体类,还有对应的xml文件;然后就可以编写service了

《IDEA使用数据库的正确姿势》 Paste_Image.png

什么?实体类自动映射数据库表?那当我什么都没说。。。

    原文作者:Angeladaddy
    原文地址: https://www.jianshu.com/p/d7db42636e63
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞