IDEA DataBase (SQL Server篇)

本文介绍了在IDEA的DataBase中生成实体类的方法。先打开DataBase窗口并配置参数,包括端口、Database、驱动等,测试连接成功。接着查看数据库中的数据表和信息,最后创建文件夹存放model,选中表并选择存放位置即可自动生成实体。还提到生成实体时int转long的问题。

IDEA中的 DataBase 非常好用,可以显示数据库中的表,还可以生成实体类。

百度了下看到网上大多数都是配置MySql的,其实都大同小异。

w3c的解释很清楚,方便学习:

https://www.w3cschool.cn/intellij_idea_doc/intellij_idea_doc-jh8e2ozs.html

1、打开窗口 DataBase 

 

2、配置参数

①端口port 默认的可以不写 

②Database必须得写 查询到 是哪个数据表 

③驱动 没有的话点击自行下载(方便)

④ Test 测试连接成功

3、查看数据库中的数据表

点击 OK 以后 查看DataBase对话框 发现没有数据库中的列表

点击 “0 of 7” 选择dbo 

点击外侧即可出现数据库列表

4、查看数据表信息

双击数据表可以在左侧查看数据表的内容

 

5、生成实体

①创建文件夹存放model

 

②选中要生成实体的表

③选择实体存放的位置

 

④ 自动生成实体 方便

 

 

6、问题

 

idea database 生成实体类 数据表中字段是int类型 自动生成的是long类型  ???

 

查看Generate POJOs.groovy 发现 设置默认int转成long 肯定是有目的的

id主键自增 增到不能再增的时候就得使用long了 

 

Generate POJOs.groovy

import com.intellij.database.model.DasTable
import com.intellij.database.util.Case
import com.intellij.database.util.DasUtil

/*
 * Available context bindings:
 *   SELECTION   Iterable<DasObject>
 *   PROJECT     project
 *   FILES       files helper
 */

packageName = "com.sample;"
typeMapping = [
  (~/(?i)int/)                      : "long",
  (~/(?i)float|double|decimal|real/): "double",
  (~/(?i)datetime|timestamp/)       : "java.sql.Timestamp",
  (~/(?i)date/)                     : "java.sql.Date",
  (~/(?i)time/)                     : "java.sql.Time",
  (~/(?i)/)                         : "String"
]

FILES.chooseDirectoryAndSave("Choose directory", "Choose where to store generated files") { dir ->
  SELECTION.filter { it instanceof DasTable }.each { generate(it, dir) }
}

def generate(table, dir) {
  def className = javaName(table.getName(), true)
  def fields = calcFields(table)
  new File(dir, className + ".java").withPrintWriter { out -> generate(out, className, fields) }
}

def generate(out, className, fields) {
  out.println "package $packageName"
  out.println ""
  out.println ""
  out.println "public class $className {"
  out.println ""
  fields.each() {
    if (it.annos != "") out.println "  ${it.annos}"
    out.println "  private ${it.type} ${it.name};"
  }
  out.println ""
  fields.each() {
    out.println ""
    out.println "  public ${it.type} get${it.name.capitalize()}() {"
    out.println "    return ${it.name};"
    out.println "  }"
    out.println ""
    out.println "  public void set${it.name.capitalize()}(${it.type} ${it.name}) {"
    out.println "    this.${it.name} = ${it.name};"
    out.println "  }"
    out.println ""
  }
  out.println "}"
}

def calcFields(table) {
  DasUtil.getColumns(table).reduce([]) { fields, col ->
    def spec = Case.LOWER.apply(col.getDataType().getSpecification())
    def typeStr = typeMapping.find { p, t -> p.matcher(spec).find() }.value
    fields += [[
                 name : javaName(col.getName(), false),
                 type : typeStr,
                 annos: ""]]
  }
}

def javaName(str, capitalize) {
  def s = com.intellij.psi.codeStyle.NameUtil.splitNameIntoWords(str)
    .collect { Case.LOWER.apply(it).capitalize() }
    .join("")
    .replaceAll(/[^\p{javaJavaIdentifierPart}[_]]/, "_")
  capitalize || s.length() == 1? s : Case.LOWER.apply(s[0]) + s[1..-1]
}

 

<think>好的,我现在需要在IntelliJ IDEA中添加SQL Server的数据库驱动程序,以便能够连接和操作数据库。让我先回想一下用户提供的引用内容,看看有没有相关的步骤或注意事项。 首先,根据引用[5],需要下载合适版本的JDBC驱动包,并且注意不要下载最新版本,可能需要根据JDK版本选择。用户提到要检查Java版本,使用`java -version`命令查看,然后去微软的官方网站下载对应的驱动。此外,下载的包可能是zip或tar.gz格式,需要解压后导入到项目中。 然后,引用[1]和[5]都提到了在IDEA中导入jar包的步骤,特别是需要将驱动包添加到项目的库中,并且设置为模块有效,这样项目才能正确识别驱动类。引用[2]指出,有些配置信息可以放在properties文件中,方便管理和修改,但驱动类的加载还是需要在代码中通过`Class.forName()`来完成。 接下来,用户的问题是如何在IDEA中添加驱动程序。步骤可能包括下载驱动、在项目中导入jar包、配置模块依赖,以及可能的测试连接。需要注意的是,驱动程序的类名是`com.microsoft.sqlserver.jdbc.SQLServerDriver`,这个在引用[1]中明确提到了。 另外,引用[4]提到了SSL证书的问题,但这个问题可能是在连接时出现的错误,可能与驱动配置无关,不过可能需要检查连接字符串是否正确,或者在URL中添加加密参数。不过这可能属于连接配置的问题,而不是添加驱动程序的步骤,所以暂时可以忽略,除非用户在后续连接时遇到问题。 所以,现在需要整理出一个清晰的步骤: 1. 下载正确的JDBC驱动包:访问微软的下载页面,根据JDK版本选择合适的驱动版本。比如,如果使用的是JDK 8,可能需要下载兼容的版本,如8.2或更早的版本,而不是最新的。需要确认下载的驱动包文件,比如sqljdbc_xx.x.xxx_enu.tar.gz,解压后找到jar文件(比如mssql-jdbc-xxx.jre8.jar)。 2. 在IDEA项目中导入驱动包:新建或打开现有项目,然后在项目结构中添加该jar作为库。具体操作可能是在File -> Project Structure -> Libraries,点击加号选择Java,然后找到解压后的jar文件,添加后应用。 3. 确保模块依赖正确:在模块设置中,检查是否将添加的库包含到模块的依赖中,这样编译和运行时才能找到驱动类。 4. 验证驱动是否有效:编写测试代码,使用`Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")`来加载驱动,如果没有抛出异常,说明驱动加载成功。或者通过IDEA的数据库工具直接配置连接,看是否能成功连接。 可能遇到的错误包括驱动类未找到,这时候需要检查jar包是否正确导入,路径是否正确,以及模块是否依赖该库。另外,版本不兼容也可能导致问题,比如使用高版本的驱动但JDK版本较低,这时候需要降级驱动版本。 用户提供的引用[5]中还提到,在IDEA中连接数据库时,可能需要通过数据库工具窗口来添加驱动,这可能是另一种方法。用户可以通过View -> Tool Windows -> Database打开数据库工具,然后添加新的数据源,选择SQL Server,然后在那里指定驱动文件和类名,这样IDEA会自动管理驱动。这可能是一个更简便的方式,尤其是对于直接使用IDEA的数据库功能而不是编程连接的情况。 总结,添加驱动的方法有两种:一种是通过项目依赖添加jar包,另一种是通过IDEA的数据库工具配置驱动。用户可能希望的是前者,因为他们在代码中需要用到JDBC连接。所以步骤应涵盖这两种情况,但以项目依赖为主。 最后,需要确保在代码中正确加载驱动类,并且连接字符串、用户名、密码等信息正确,这些可能放在properties文件中,如引用[2]所示,但驱动加载本身需要在代码中处理。</think>在IntelliJ IDEA中添加SQL Server数据库驱动程序的步骤如下: --- ### **步骤1:下载JDBC驱动包** 1. 访问Microsoft JDBC驱动[下载页面](https://learn.microsoft.com/zh-cn/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server),选择与JDK版本兼容的驱动。 - 通过`Win+R` → 输入`cmd` → 执行`java -version`查看JDK版本[^5]。 - 例如:JDK 8选择`mssql-jdbc-xxx.jre8.jar`。 --- ### **步骤2:将驱动包导入项目** 1. **新建/打开项目**:在IDEA中创建或打开Java项目。 2. **添加驱动为库**: - 右键项目 → `Open Module Settings` → `Libraries` → 点击`+` → 选择下载的JAR文件[^5]。 - 确保勾选模块依赖(如未自动添加,需手动在`Dependencies`中勾选)。 --- ### **步骤3:验证驱动加载** 1. **代码测试**: ```java public class TestDriver { public static void main(String[] args) { try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); System.out.println("驱动加载成功"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } } ``` - 若输出“驱动加载成功”,则配置正确[^1]。 --- ### **可选:通过IDEA数据库工具配置** 1. 打开`Database`工具窗口(`View` → `Tool Windows` → `Database`)。 2. 点击`+` → `Data Source` → `SQL Server`。 3. 在`Driver`选项卡中指定驱动文件路径,输入连接信息(URL、用户名、密码等)。 --- ### **注意事项** - **SSL证书错误**:若连接时报SSL错误,在URL中添加`;encrypt=true;trustServerCertificate=true`[^4]。 - **配置分离**:建议将连接信息(URL、用户名等)写入`properties`文件,便于维护[^2]。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿姨不可以嘛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值