下载所需资源
- 在官网下载hibernate
链接:http://hibernate.org/orm/ - 下载log4j2
链接:http://logging.apache.org/log4j/2.x/download.html
配置项目
- 引入jar包【hibernate、jdbc、log4j】
- 按照同样方法引入jdbc、log4j
- 在src目录下创建hibernate.cfg.xml
- 填写如下内容
- 头部可在hibernate-core的jar包下,org.hibernate中找到
- 创建数据库表T_USER
- 在src下建立pojo包,并创建两个文件。注意,这两个文件必须在同级目录
- User.java内容如下:
- User.hbm.xml内容如下:
- 在hibernate.cfg.xml中添加映射文件
使用
- 编写测试代码
- 查看运行结果
- 成功!
题外话
- java 日期类Date插入mysql数据库时间少了一天,如果设定为
serverTimezone=UTC
,会比中国时间早8个小时,可以改成serverTimezone=Asia/Shanghai
附带: mysql url 重要参数说明
参数名字 | 参数说明 | 缺省值 |
user | 数据库用户名(用于连接数据库) | |
password | 用户密码(用于连接数据库) | |
useUnicode | 是否使用Unicode字符集,如果参数characterEncoding设置为gb2312或gbk,本参数值必须设置为true | false |
characterEncoding | 当useUnicode设置为true时,指定字符编码。比如可设置为gb2312或gbk | false |
autoReconnect | 当数据库连接异常中断时,是否自动重新连接? | false |
autoReconnectForPools | 是否使用针对数据库连接池的重连策略 | false |
failOverReadOnly | 自动重连成功后,连接是否设置为只读? | true |
maxReconnects | autoReconnect设置为true时,重试连接的次数 | 3 |
initialTimeout | autoReconnect设置为true时,两次重连之间的时间间隔,单位:秒 | 2 |
connectTimeout | 和数据库服务器建立socket连接时的超时,单位:毫秒。 0表示永不超时,适用于JDK 1.4及更高版本 | 0 |
socketTimeout | socket操作(读写)超时,单位:毫秒。 0表示永不超时 | 0 |
- 如果在hbm.xml中table报红
不影响程序运行 - 如果没报红,无论写什么都是绿色,没有进行检测,那么添加Facets即可。
- 报红解决方案:
按照提示点击 - Data Source选上,点击OK,即可。