美文网首页Java学习笔记
IDEA使用数据库的正确姿势

IDEA使用数据库的正确姿势

作者: Angeladaddy | 来源:发表于2016-12-22 01:07 被阅读10618次

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

  1. 设置database
点击这个按钮打开数据库面板

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

数据库连接

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

Paste_Image.png

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

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

右键工程,Modules-点右边的加号,添加JPA(注意不是spring data jpa)

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

在persistence面板中右键你的工程,按上面选择,将会打开import database schema面板 箭头所示特别注意

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

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了

Paste_Image.png

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

相关文章

网友评论

    本文标题:IDEA使用数据库的正确姿势

    本文链接:https://www.haomeiwen.com/subject/zrscvttx.html