Hibernate学习之双向一对多映射
双向一对多映射双向 1 到 n 和 双向 n 到 1 是完全相同的2中情形。
Customer类的java代码这里Customer类多了一个orders集合成员变量,用来保存order。
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455package com.mamh.hibernate.demo.entities;import java.util.HashSet;import java.util.Set;public class Customer { private Integer customerId; private String customerName; //这里必须是接口类型。需要初始化。 private Set<Order> orders = new HashSet<Order>(); public Customer() { } ...
Hibernate学习之映射文件
Hibernate学习之映射文件
pojo映射文件
1234567891011121314151617181920212223<?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping> <class name="com.mamh.hibernate.demo.entities.News" table="hb_news" schema="mage" select-before-update="true"> &l ...
Hibernate学习之配置文件hibernate.cfg.xml
hibernate配置文件主要用于数据库连接和hibernate运行时所需的各种属性每个hibernate配置文件对应一个configuration对象。hibernate配置文件可以有2中格式:hibernate.properties和hibernate.cfg.xml,现在推荐使用xml格式。
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950<?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">&l ...
JavaJDBC学习-DAO
DAO data access objectwhat:访问数据信息(这个数据不一定在数据库里面存放,也可能是xml文件,txt文件,data文件等)的类,包含了对数据的crud(create,read,update,delete),增删改查的操作。不包含任何逻辑代码。
why:实现功能的模块化,更有利用代码的维护和升级。
how:使用JDBC编写dao
1234567void update(String sql, Object... args) {<T> T get(Class<T> clazz, String sql, Object... args) {List<T> T getAll(Class<T> clazz, String sql, Object... args) {//这个是查询多条记录,返回一个列表 <E> E get(String sql, Object... args)//返回一个具体的记录的具体的某个列的值
1234567891011121314151617181 ...
Java中使用ini格式配置文件
#ini简介
ini格式配置文件,这种配置文件在win系统上很常见.还有git的配置文件也很类似ini的,不过还是不太一样的.
123456789101112131415161718192021[repo] GIT_ANDROID_ROOT=git/android/ REPO_MANIFEST_ADDR=ssh://gerrit.mage.com:29418/git/android/platform/manifest REPO_MANIFEST_BRANCH=mage_master REPO_MANIFEST_FILE=mage/default.xml REPO_MIRROR=/home/mirror REPO_GROUP= REPO_GROUP_AMSS=mage_amss,mage_common REPO_GROUP_ANDROID=all,-mage_amss[build] SOC_NAME= ANDROID_TARGET_PRODUCT_LIST=mage ANDROID_BUILD_VARIANT_LIST ...
Java中使用yaml格式配置文件
#yaml简介
1234YAML是“YAML不是一种标记语言”的外语缩写“YAML Ain't Markup Language”反正就是一种标记语言呗,她不像xml那样繁琐,有那么多标签,他的格式比较简单,以数据为中心,侧重点是数据.
先来一个yaml格式的配置
123456789101112131415161718repo: GIT_ANDROID_ROOT: git/android/ REPO_MANIFEST_ADDR: ssh://gerrit.example.com:29418/git/android/platform/manifest REPO_MANIFEST_BRANCH: master REPO_MANIFEST_FILE: default.xml REPO_MIRROR: /home/mirror REPO_GROUP: '' REPO_GROUP_AMSS: amss,common REPO_GROUP_ANDROID: all,-amssbuild: ANDROID_TARGET_PRODUCT_LIST: ci ...
Java学习笔记之排序算法
排序算法
123456789101112131415161718192021冒泡排序(Bubble Sort),又被称为气泡排序或泡沫排序。它是一种较简单的排序算法。它会遍历若干次要排序的数列,每次遍历时,它都会从前往后依次的比较相邻两个数的大小;如果前者比后者大,则交换它们的位置。这样,一次遍历之后,最大的元素就在数列的末尾!采用相同的方法再次遍历时,第二大的元素就被排列在最大元素之前。重复此操作,直到整个数列都有序为止!冒泡排序时间复杂度冒泡排序的时间复杂度是O(N2)。假设被排序的数列中有N个数。遍历一趟的时间复杂度是O(N),需要遍历多少次呢?N-1次!因此,冒泡排序的时间复杂度是O(N2)。 冒泡排序稳定性冒泡排序是稳定的算法,它满足稳定算法的定义。算法稳定性 -- 假设在数列中存在a[i]=a[j],若在排序之前,a[i]在a[j]前面;并且排序之后,a[i]仍然在a[j]前面。则这个排序算法是稳定的!
123456789101112131415161718192021222324252627282930313233343536373839404142434445464 ...
Hibernate学习之映射继承关系
hibernate支持三种继承映射策略:
使用subclass进行映射
将域模型中的每一个实体对象映射到一个独立的表中,也就是说不用在关系数据模型中考虑域模型中的继承和多态。
使用joined-subclass进行映射
对于继承关系中的子类使用通一个表,这就是需要在数据库表中增加额外的区分子类类型的字段。
使用union-subclass进行映射
域模型中的每个类型映射到一个表,通过关系数据模型中的外键来描述表之间的继承关系。这也就相当于按照域模型的结构来建立关系数据库中的表,并通过外键来建立表之间的继承关系。
1.使用subclass进行映射
将域模型中的每一个实体对象映射到一个独立的表中,也就是说不用在关系数据模型中考虑域模型中的继承和多态。
person父类
1234567891011121314151617181920212223242526272829public class Person { private Integer id; private String name; private int age; public I ...
JavaJDBC学习-JDBC
1234567JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,使用这个类库可以以一种标准的方法、方便地访问数据库资源JDBC为访问不同的数据库提供了一种统一的途径,为开发者屏蔽了一些细节问题。JDBC的目标是使Java程序员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无需对特定的数据库系统的特点有过多的了解,从而大大简化和加快了开发过程。
12345678910111213141516try { Driver driver = new com.mysql.jdbc.Driver(); String url = "jdbc:mysql://localhost/test"; Properties info = new Properties(); info.put("user", "test"); info.put(&q ...
Java学习笔记总结
Java IO
123456字节流 InputStream FilterInputStream, BufferedInputStream, ByteArrayInputStream, DataInputStream, PrintStream 字节流 OutputStream FilterOutputStream, BufferedOutputStream, ByteArrayOutputStream, DataOutputStream, 字符流 Reader BufferedReader, LineNumberReader, CharArrayReader, InputStreamReader, FileReader, FilterReader, PushbackReader, PipedReader, StringReader字符流 Writer BufferedWriter, CharArrayWriter, OutputStreamWriter, FileWriter,FilterWriter, ...
Centos7安装配置gitlab
#ubuntu 安装gitlab
1使用清华大学gitlab的镜像https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/
12curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/nullvi /etc/yum.repos.d/gitlab-ce.repo
1234567[gitlab-ce]name=gitlab-cebaseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7repo_gpgcheck=0gpgcheck=0enabled=1gpgkey=https://packages.gitlab.com/gpg.key
12sudo yum makecachesudo yum install gitlab-ce
123然后打开/etc/gitlab/gitlab.rb,将external_url = 'http://x ...
Centos7安装配置sonar
下载sonar 的zip包.
在 conf/sonar.properties 文件中配置如下ldap相关的
1234567891011121314sonar.security.realm=LDAPsonar.security.updateUserAttributes=falseldap.url=ldap://10.0.xx.xx:389ldap.bindDn=cn=gitlab,ou=系统账号,dc=example,dc=comldap.bindPassword=密码ldap.user.baseDn=dc=example,dc=com # 或者是 配置到某个组,OU=研发中心,OU=example科技有限公司,DC=example,DC=comldap.user.request=(&(objectClass=user)(sAMAccountName={login}))ldap.user.realNameAttribute=displayNameldap.user.emailAttribute=mailldap.group.baseDn=dc=ex ...