更多
2021年10月18日 19点25分 作者:叶飞 修改

Hibernate:单表Criteria:Builder / from / where / group / select

说明:Hibernate提供了多种查询方式(HQL, JPQL),但我们通常Criteria为主,搭配原生SQL就OK了本章节的Criteria遵循JPA规范的javax.persistence.criteria.CriteriaQuery,而不是legacy(老的)org.hibernate.Criteria最简单示例查出所有Teacher:CriteriaBuilder:通过EntityManager对象获得(仍然是builder模式)有一个createQuery()实例方法,该方法接受一个类型做参数 ……

Hibernate Criteria 查询
2021年10月13日 22点30分 作者:叶飞 修改

Hibernate:关联entity:加载 / 改动 / 删除

为了便于表达,我们先对entity里面要持久化的字段/属性做一个定义:简称定义示例(当前entity:Studnet)关联属性对另一个@Entity的引用Student taughtBy关联集合集合对其他entites集合的引用Set<Student> teachers基本属性属性Java基本类型+String+时间类型等int age、String nameValueType对另一个@embedable的引用Contact contact加载默认的,当我们加载一个entity的时候,它的基本 ……

关联对象 加载 删除 修改
2021年10月07日 23点29分 作者:叶飞 修改

Hibernate:单表增删改查:EntityManager和Session / log4j / 事务 / StatelessSession / batch_size

准备一个简单的StudentStudent atai = new Student();atai.setName("阿泰");atai.setEnroll(LocalDate.now());EntityManager 要完成entity的持久化,首先需要一个之前提到过的session:按JPA规范,命名为EntityManger按native传统,命名为SessionEntityManger可以通过EntityMangerFactory的createEntityManager()方法直接获得:EntityM ……

Hibernate 持久化 增删改 log4j
2021年10月07日 23点28分 作者:叶飞 修改

Hibernate:复杂映射:继承 / 关联 / ValueType / 自定义命名

Embeddable types以前在Hibernate里被称之为components,其他ORM中被称之为value type。典型的特征:没有Id需要嵌在其他entity中使用,由其父entity导出@Embeddable:定义类@Embedded:标记字段 ……

Hibernate 关联 继承
2021年09月27日 21点15分 作者:叶飞 修改

持久化:ORM:引入和功能简介:自动建表 / 自定义&继承映射 / 关联对象增删查

DbHelperSQL生成器ORM谁先谁后?Db first:先有数据库,然后映射到(自动生成)类Code first:先有数据库,然后映射到(自动生成)类mixed越新的项目越倾向于Code first:OO,忘记数据库Java:如过江之鲫,但目前仍然主流的:Hibernate/myBatis/(JPA:规范标准)/spring-data-jpa(hibernate) /jdbcTemplate Entity Framework:MySQL的JDBC驱动由Oracle提供。访问某个具体的数据库,我们还需 ……

DbHelper SQL生成器 ORM
2021年09月21日 09点59分 作者:叶飞 修改

持久化:ADO&JDBC:driver / 连接 / SQL注入 / 事务 / 批处理 / 结果集 / 连接池

接口和驱动访问数据库的标准接口(标准)Java:Java DataBase Connectivity(JDBC)C#:(ADO.NET)接口是语言标准库自带的而具体驱动(实现了这些接口的类,jar包)是由数据库厂商(官方)/第三方提供的MySQL的JDBC驱动由Oracle提供。访问某个具体的数据库,我们还需要引入该厂商提供的JDBC驱动,就可以通过JDBC接口来访问,这样保证了Java程序编写的是一套数据库访问代码,却可以访问各种不同的数据库,因为他们都提供了标准的JDBC驱动:连接connection ……

JDBC ADO.NET ORM
2021年09月21日 09点53分 作者:叶飞 修改

JDBC:driver(mysql) / Connection / Statement / 参数化 / ResultSet

接口和驱动Java DataBase Connectivity是Java程序访问数据库的标准接口(标准)JDBC接口是Java标准库自带的而具体的JDBC驱动(实现了这些接口的类,jar包)是由数据库厂商提供的MySQL的JDBC驱动由Oracle提供。访问某个具体的数据库,我们还需要引入该厂商提供的JDBC驱动,就可以通过JDBC接口来访问,这样保证了Java程序编写的是一套数据库访问代码,却可以访问各种不同的数据库,因为他们都提供了标准的JDBC驱动:java.sqlJava的标准库演示:里面大部分都 ……

JDBC
2021年09月20日 19点26分 作者:叶飞 修改

J&C:多线程:current / 属性状态 / 异步和并发 / 异常捕获 / 线程安全 / join / 锁 / 池

复习: 进程 / 线程 / 并行 / 并发 同步 / 异步 / 非阻塞 / DMA 理解单线程在此之前,我们的代码都是运行在一个线程中,这被称之为“单线程编程”。这个线程又被称为主(primary)线程,或者启动线程。(我们默认使用的)更具体的说,代码运行在线程的栈(stack)中(复习):一个线程对应着一个栈,这个栈又被称之为线程栈。单个线程中,Java和C#代码都是同步(依次)运行的。PS:为什么强调Java和C#,因为JavaScript是单线程都可以异步的,^_^创建新线程Java和C#运行开 ……

多线程 线程池
2021年09月20日 19点24分 作者:叶飞 修改

Java:多线程:查看堆栈 / FutureTask / 非阻塞 / wait()&notify() / Executor

当前线程使用Thread.currentThread()可以获取:Thread current = Thread.currentThread();然后,可以获取线程的相关信息:System.out.println(current.getId()); //线程IdSystem.out.println(current.getName()); //名字System.out.println(current.getPriority()); //优先级System.out.println(cur ……

java 多线程
2021年09月17日 17点00分 作者:叶飞 修改

Java:JavaMail / properties / log4j

// 获取默认session对象Session session = Session.getDefaultInstance(properties);JavaMail类库下载地址:https://github.com/javaee/javamail/releases除了jar包(复习),还有sample,以及source code,无微不至啊!演示:在eclipse中引入javax.mail.jar包设置SMTP服务器Properties:继承自HashTable用于存放配置//1、连接邮件服务器的参数配置P ……

email 电子邮件 javamail
关键字



帮助

反馈