学习javaEE每一天2016.3.29
2016-03-29 22:31
477 查看
今天主要学习了javaEE mybatis的注解,主要运用于简单的sql语句(不建议在sql语句复杂时使用,维护起来很困难)。
主要需要注意是的在一对一、一对多时,将集合或对象封装时,One=@one(这个@one可以理解为一个对象),
而当many=@many(这个@many可以理解后面的数据很多,为一个集合)
大体上注解和xml的区别不大。
注:当有批量需求时,应使用xml方式。在注解中使用@resultMap可以直接引用在xml中写好的方法。如果没有写好的
方法,可以使用@Results(使用方式类似于xml中的@resultMap)来写方法
例:@Select("select * from t_student where id=#{id}")
@ResultType(StudentBean.class)
public StudentBean queryStudentById(int id);
@Select("select * from t_student where id=#{id}")
@Results({
@Result(property="id", column="id", javaType=Integer.class),
@Result(property="studentName", column="studentName",javaType=String.class),
@Result(property="lessonBean", column="id",many=@Many(select="queryById"),javaType=List.class)
})
public StudentBean queryStudentWithLessonById(int id);
@Select("select id as id,lessonName as lessonName from t_lesson where id in " +
"(select fk_lesson_id as fk_lesson_id from t_student_lesson where fk_student_id=#{id})")
@ResultType(LessonBean.class)
public List<LessonBean> queryById(int id);
spring框架不是业务层的框架是:一个整合性框架也是一个容器
[IOC思想]容器(开发过程中的JavaBean) IOC=反射+工厂
AOP面向切面编程(将业务逻辑、系统服务(抽象)分离开)
spring框架:一站式模式(可以自行进行企业级开发)
依赖注入:1.设值注入 2.构造注入
spring采用IOC降低了三层架构之间的耦合度
spring中今天讲了
设值注入
<bean id="userService" class="com.lovo.service.impl.UserServiceImpl">
<property name="userDaoimpl" ref="userDao"></property>
</bean>
public void setUserDaoimpl(IUserDao userDaoimpl) {
this.userDaoimpl = userDaoimpl;
}
构造注入(<constructor-arg index="0" ref="userDao"></constructor-arg>可以多次使用,将ref中引用的dao一次性都注入,index的值开始为0,随ref的多少依次增加)
<bean id="userService" class="com.lovo.service.impl.UserServiceImpl">
<constructor-arg index="0" ref="userDao"></constructor-arg>
</bean>
定义有参构造
public UserServiceImpl(IUserDao userDaoimpl) {
this.userDaoimpl = userDaoimpl;
}
注:将applicationContext.xml文件中的配置的Bean组件,纳入到上下文中去(启动spring容器)
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
总体讲:开始接触spring框架,主要是运用在service层,即将开始学习mybatis+spring,最近的学习量也越来越大,我觉得,耐下性子
好好总结,总有一天我们会领悟出其中的奥秘的,加油吧!~
主要需要注意是的在一对一、一对多时,将集合或对象封装时,One=@one(这个@one可以理解为一个对象),
而当many=@many(这个@many可以理解后面的数据很多,为一个集合)
大体上注解和xml的区别不大。
注:当有批量需求时,应使用xml方式。在注解中使用@resultMap可以直接引用在xml中写好的方法。如果没有写好的
方法,可以使用@Results(使用方式类似于xml中的@resultMap)来写方法
例:@Select("select * from t_student where id=#{id}")
@ResultType(StudentBean.class)
public StudentBean queryStudentById(int id);
@Select("select * from t_student where id=#{id}")
@Results({
@Result(property="id", column="id", javaType=Integer.class),
@Result(property="studentName", column="studentName",javaType=String.class),
@Result(property="lessonBean", column="id",many=@Many(select="queryById"),javaType=List.class)
})
public StudentBean queryStudentWithLessonById(int id);
@Select("select id as id,lessonName as lessonName from t_lesson where id in " +
"(select fk_lesson_id as fk_lesson_id from t_student_lesson where fk_student_id=#{id})")
@ResultType(LessonBean.class)
public List<LessonBean> queryById(int id);
spring框架不是业务层的框架是:一个整合性框架也是一个容器
[IOC思想]容器(开发过程中的JavaBean) IOC=反射+工厂
AOP面向切面编程(将业务逻辑、系统服务(抽象)分离开)
spring框架:一站式模式(可以自行进行企业级开发)
依赖注入:1.设值注入 2.构造注入
spring采用IOC降低了三层架构之间的耦合度
spring中今天讲了
设值注入
<bean id="userService" class="com.lovo.service.impl.UserServiceImpl">
<property name="userDaoimpl" ref="userDao"></property>
</bean>
public void setUserDaoimpl(IUserDao userDaoimpl) {
this.userDaoimpl = userDaoimpl;
}
构造注入(<constructor-arg index="0" ref="userDao"></constructor-arg>可以多次使用,将ref中引用的dao一次性都注入,index的值开始为0,随ref的多少依次增加)
<bean id="userService" class="com.lovo.service.impl.UserServiceImpl">
<constructor-arg index="0" ref="userDao"></constructor-arg>
</bean>
定义有参构造
public UserServiceImpl(IUserDao userDaoimpl) {
this.userDaoimpl = userDaoimpl;
}
注:将applicationContext.xml文件中的配置的Bean组件,纳入到上下文中去(启动spring容器)
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
总体讲:开始接触spring框架,主要是运用在service层,即将开始学习mybatis+spring,最近的学习量也越来越大,我觉得,耐下性子
好好总结,总有一天我们会领悟出其中的奥秘的,加油吧!~
相关文章推荐
- JPush极光推送 Java调用服务器端API开发
- 关于java web中中文乱码问题
- Thread vs Runnable in Java
- Eclipse UML插件Green UML、AmaterasUML
- spring security的原理及教程
- 娇滴滴的Mac,一次升级jdk导致的“事故”
- Java基本知识入门
- 算法-排序算法-选择排序算法
- 24 API-多线程(多线程(多线程JDK5Lock锁,生产者消费者等待唤醒机制,定时器),设计模式(设计原则,设计模式(简单工程,工厂方法,单例模式)
- Spring IoC
- 一天一个Java基础——排序
- java学习笔记-IO流
- java中static的作用
- Java遇见HTML——JSP篇之商品浏览记录的实现
- JAVAEE 框架 2016-3-29
- java核心技术卷I-第五章学习笔记
- MyEclipse------黑科技
- java核心技术卷I-第六章学习笔记
- Java相关思维导图分享
- Java第四次实验要求