解释Pojo类以及javabean
解释Pojo类其实就是我们在开发中的一些规范,至于为啥叫pojo类,原因如下:
在软件工程领域,POJO是一个普通的Java对象,其不受任何特殊的限制。
POJO具有以下特点:
➊ 不继承任何类
➋ 不实现任何接口
➌ 无任何注解
➍ 不依赖于任何第三方框架(库)
1234567891011121314151617181920public class EmployeePojo➊ { public String➋ firstName; public String➋ lastName; private LocalDate➋ startDate; public EmployeePojo(String firstName, String lastName, LocalDate startDate) { this.firstName = firstName; this.lastName = lastName; this.startDate = startDate; } pu ...
mybatis学习笔记(day4)
mybatis学习(day4)输入映射通过parameterType指定输入参数的类型,类型可以是
简单类型
hashmap
pojo的包装类型
昨天已经解释过parameterType是什么了例如:
1234<delete id="deleteStudent" parameterType="int"> delete from student where id=#{studentId}</delete>
中的 parameterType 是来指定字段类型的
传递pojo的包装对象
定义包装类型pojo
123456789101112131415161718192021package com.iot.mybatis.po;public class UserQueryVo { //在这里包装所需要的查询条件 //用户查询条件 private UserCustom userCustom; public UserCustom getUserCustom() { ...
mybatis学习笔记(day3)
mybatis学习(day3)SqlMapConfig配置文件SqlMapConfig.xml中配置的内容和顺序如下
properties(属性)
settings(全局配置参数)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境集合属性对象)
environment(环境子属性对象)
transactionManager(事务管理)
dataSource(数据源)
mappers(映射器)
(注:粗体是重点,斜体不常用)
properties(属性)将数据库连接参数单独配置在db.properties中,只需要在SqlMapConfig.xml中加载db.properties的属性值。在SqlMapConfig.xml中就不需要对数据库连接参数硬编码。
将数据库连接参数只配置在db.properties中。原因:方便对参数进行统一管理,其它xml可以引用该db.properties。
1234jdbc.driver=com.mysql.jdbc.Dri ...
mybatis学习笔记(day2)
mybatis学习day2SqlSession位于sqlsessionfactory中 是 会话工厂的一部分 我们可以创建一个seesion来进行提交、回滚操作。
SqlSessionFactoryBuilder
通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory将SqlSessionFactoryBuilder当成一个工具类使用即可,不需要使用单例管理SqlSessionFactoryBuilder。在需要创建SqlSessionFactory时候,只需要new一次SqlSessionFactoryBuilder即可。
SqlSessionFactory
通过SqlSessionFactory创建SqlSession,使用单例模式管理sqlSessionFactory(工厂一旦创建,使用一个实例)。将来mybatis和spring整合后,使用单例模式管理sqlSessionFactory。
SqlSession
SqlSession是一个面向用户(程序员)的接口。SqlSession中提供了很多操作数据库的方法:如:sel ...
mybatis学习笔记(day1)
mybatis学习笔记(day1)为啥不用JDBC?首先我们知道jdbc的步骤是:
加载数据库驱动
创建并获取数据库链接
创建jdbc statement对象
设置sql语句
设置sql语句中的参数(使用preparedStatement)
通过statement执行sql并获取结果
对sql执行结果进行解析处理
释放资源(resultSet、preparedstatement、connection)
我们可以看出,我们频繁的对数据库进行连接和关闭操作(当我们打开datagrip的时候,也要等一下数据库才出来),这很不效率。
设想:使用数据库连接池管理数据库连接
什么是数据库连接池?
数据库连接池是一个存储已经建立的数据库连接并使其可以重复使用的技术,可以减少程序每次建立数据库连接所花费的时间。
使用数据库连接池可以将已经建立的连接保存在连接池中,当有新的数据请求到来时,可以从连接池中获取已创建的空闲连接来使用,从而避免了频繁创建和释放数据库连接的操作,提高了系统的性能,减少了系统的开销。
将sql直接编入java语言中,其实非常不安全而且给维护造成很大影响。
设想:将sql语句配 ...
哲学家就餐问题
哲学家就餐问题123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081import java.util.concurrent.Semaphore;/** * Todo: 哲学家就餐问题 * @Author Wislist */class Philosopher implements Runnable { private int id; private Semaphore[] forks; public Philosopher(int id, Semaphore[] forks) { this.id = id; this.forks = forks; } @Override public void run() { try ...