- 博客(24)
- 收藏
- 关注
原创 spring的纯注解开发
在config包下,创建一个配置类SpringConfiguration,作用类似于bean.xmlspring中的新注解:@Configuration:(构造)作用:指定当前类是一个配置类细节:当配置类作为AnnotationConfigApplicationContext对象创建的参数时,该注解可以不写。在test测试类中获取核心容器。ApplicationContext ac =...
2019-02-17 09:10:47
572
原创 spring使用半注解半xml方式开发过程:
曾经XML的配置: <bean id="accountService" class="com.itheima.service.impl.AccountServiceImpl" scope="" init-method="" destroy-method="">
2019-02-17 09:10:35
275
原创 spring中的依赖注入DI
依赖注入在我们的对象创建过程中,如果对象的属性上有其他对象。把对象中的对象属性的值赋值的过程叫做依赖注入。如果是经常变化的数据,并不适用于注入的方式。能注入的数据:有三类基本类型和String其他bean类型(在配置文件中或者注解配置过的bean)复杂类型/集合类型注入的方式:有三种第一种:使用构造函数提供第二种:使用set方法提供第三种:使用注解提供构造函数注入:使用的标签...
2019-02-17 09:10:24
185
原创 spring对bean的管理细节
创建Bean的三种方式:第一种方式:使用默认构造函数创建。在spring的配置文件中使用bean标签,配以id和class属性之后,且没有其他属性和标签时。采用的就是默认构造函数创建bean对象,此时如果类中没有默认构造函数,则对象无法创建。如果使用有参构造,在bean标签体内使用constructor-arg标签配置构造参数的指定<bean id="accountService...
2019-02-17 09:10:12
172
原创 spring对bean的管理细节
创建Bean的三种方式:第一种方式:使用默认构造函数创建。在spring的配置文件中使用bean标签,配以id和class属性之后,且没有其他属性和标签时。采用的就是默认构造函数创建bean对象,此时如果类中没有默认构造函数,则对象无法创建。如果使用有参构造,在bean标签体内使用constructor-arg标签配置构造参数的指定<bean id="accountService...
2019-02-17 09:09:59
191
原创 Spring框架基础学习
Spring是什么:Spring是分层的Java SE/EE应用 full-stack轻量级开源框架,以IoC(Inverse Of Control:反转控制)和AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层Spring MVC和持久层Spring JDBC以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐...
2019-02-17 09:09:46
193
原创 Mybatis注解开发
注解和xml配置的区别注解优点:编写简单,代码量少缺点:写到源码中的,如果需要维护修改,必须修改源码xml优点:不用修改源码就可以修改配置,可以实时进行配置的更新缺点:代码比较复杂,结构不如注解清晰。注意:采用注解开发的时候,在同一个dao下不能有xml文件,就是说要么用注解要么就都用配置文件开发。1. 同一个文件不能同时使用注解和配置文件开发。2. 如果是不同的接口文件,可以使...
2019-02-17 09:09:31
1000
原创 Mybatis中的缓存
缓存:作用:提升查询数据的效率。尽可能的减少和数据库的交互。前提:多查询,少修改,数据不重要。一级缓存Mybatis自带一级缓存,缓存存在SqlSession对象中。如果使用同一个SqlSession获取dao执行同样的查询语句,不会多次去数据库查询而是会复用之前的结果。* 当我们执行查询结果之后,查询的结果会同时存入到SqlSession为我们提供一块区域中,该区域的结果是一个Map...
2019-02-17 09:08:46
381
原创 Mybatis延迟加载:
Mybatis的延迟加载:* 在实际开发中,在查询账户时,账户的所属用户信息应该是随着账户时一起查询出来。[立即加载]* 查询用户时,账户的信息是随着用户的需要才加载出来。 [延迟加载/按需加载/懒加载]隐患:List集合的元素个数无法预知,可能会因为数据量过大导致内存溢出。概念:1.延迟加载:在真正使用数据时才发起查询,不用的时候不查询。按需加载(懒加载)。在查询时,调用对方配置...
2019-02-17 09:08:33
291
原创 Mybatis多表查询!!!
1.表之间的关系有几种 1. 一对多2. 多对一3. 一对一4. 多对多2.举例:1. 用户和订单就是一对多2. 订单和用户就是多对一1.一个用户可以下多个订单2.多个订单属于同一个用户3.人和身份证号就是一对一1.一个人只能有一个身份证号2.一个身份证号只能属于一个人4.老师和学生之间就是多对多1.一个学生可以被多个老师教过2.一个老师可以交多个学生5.特例:如...
2019-02-17 09:08:20
125
原创 事务
介绍_什么是事务?数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性...
2019-02-17 09:08:04
79
原创 mybaits中的连接池
连接池1.线程池介绍1.作用:它是预先创建线程的一种技术,减少频繁的创建和销毁对象连接池就是存储连接的一个容器,容器就是一个集合对象,该集合必须是线程安全的,不能两个线程拿到同一连接,该集合还必须实现队列的特性,先进先出。2.四种策略:如果线程数小于corePoolSize,则每来一个任务,就会创建执行这个任务。如果当前线程池中的线程数目>=corePoolSize,则每...
2019-02-17 09:07:18
269
原创 Mybatis的动态SQL语句
If标签根据条件查询test是判断条件,其中多个条件用and不是&&<select id="findUserByCondition" resultMap="userMap" parameterType="user"> select * from user where 1=1 <if test="userName != null"&am
2019-02-16 20:13:36
103
原创 Mybatis使用xml配置下,实现的CRUD操作
Dao中IUserDao中的代码package com.itheima.dao;import com.itheima.domain.QueryVo;import com.itheima.domain.User;import java.util.List;public interface IUserDao { /** * 查询所有 * @return ...
2019-02-16 20:09:39
190
原创 映射文件中#号与$符号的区别:
1. #{} 占位符 prepareSatement 预编译 * ${value} 拼接字符串 satment 拼接 * "%"#{}"#" 可以将%放在这里进行拼接。 2. #{}和${}都是用来设置sql映射文件中statement参数的占位符,通过parameterType设置statemenet的参数类型,这里可以有string字符串、基本类型、pojo、map类型;...
2019-02-16 20:05:48
575
原创 domain中封装的类的属性名与mysql中的列名不一致,有两种解决方案
方案一:查询时起别名select id as userId,username as userName,address as userAddress,sex as userSex,birthday as userBirthday from user;将列名起别名为封装对象的属性名。方案二:<!-- 配置 查询结果的列名和实体类的属性名的对应关系 --><resultMa...
2019-02-16 20:04:07
372
原创 SqlMapConfig.xml中配置的内容和顺序
连接数据库时,如果将数据库配置在主配置文件中,修改数据库密码等操作后,需要改主配置文件,所以将数据库单独配置一个文件,在主配置文件中引入数据库配置文件。数据库配置文件:jdbcConfig.propertiesjdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/eesyjdbc.username=roo...
2019-02-16 20:02:36
375
原创 自定义mybatis框架
在主配置文件中连接数据库的信息,有了他们就能创建Connection对象有了它就有了映射配置信息,获得映射配置文件的位置,读到下面的配置文件。在映射配置文件中有了它就有了执行的SQL语句,就可以获取PreparedSatement此配置中还有封装的实体类全限制类名。(用什么语句执行,封装到哪里去)这些个配置信息是一上来我们要做的事情,也就是读成一个流,解析配置文件!此处用的...
2019-02-16 19:57:15
777
3
原创 Mybatis入门案例中的设计模式分析:
1. 读取配置文件:绝对路径:d:/xxx/xxx.xml (不可取)别人电脑不一定有d盘相对路径:src/java/main/xxx.xml(不可取)项目发布后无src正确方式:1.使用类加载器,它只能读取类路径的配置文件public static InputStream getResourceAsStream(String filePath){return Resources.cl...
2019-02-16 19:45:25
148
原创 Mybatis环境搭建的注意事项
1. 创建IUserDao.xml和IuserDao.java时名称是为了和我们之前的知识保持一致,在Mybatis中它把持久层的操作接口名称和映射文件也叫做Mapper;所以:IuserDao和IUserMapper是一样的 2. * 在idea中创建目录的时候,它和包是不一样的 * 包在创建时,com.itheima.dao是三级目录 * 目录在创建时,com.theima....
2019-02-16 19:42:35
226
原创 mybatis的入门
mybatis的环境搭建(创建项目的时候不要导入模板,因为里面有很多bug,以后可能会出现各种各样的问题。)1. 打开idea工具,创建一个空的工程2. 创建一个maven项目,GroupId:com.theima ArtifactId:day01_mybatis3. 打开SQLYog,复制mybatisdb.sql中的User,创建User表,再添加进数据。4. 在pom.xml...
2019-02-16 19:38:40
95
原创 Mybatis框架课程(一)
1.什么是框架框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种 定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。 简而言之,框架其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别 人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。 * 以我们的...
2019-02-16 19:33:22
287
原创 关于maven创建Javaweb中的相关配置
<!--项目运行所依赖的jar包--> <dependencies> <!--junit4.11测试jar包--> <dependency> <groupId>junit</groupId> <artifactId>junit
2019-01-08 19:53:53
217
1
原创 使用maven创建Javaweb项目
打开idea,Configure,settings进行设置在Maven中配置如下操作,注意Work Offline不要勾选在Imporiting中选中Import Maven Projects automatically在Runner中输入-DarchetypeCatalog=internal -Dfile.encoding=GBK然后ok创建新的maven项目,如图操作,next然后一直next...
2019-01-08 19:44:55
216
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人