maven

本文详细介绍了Maven项目管理和MyBatis持久层框架的使用。Maven通过项目结构设计实现组件划分和关系设置,包括继承和聚合关系。而MyBatis作为半ORM框架,简化了数据库交互,提供了SQL动态编写。文中还展示了MyBatis的入门案例,包括配置文件、映射文件的创建以及CRUD操作,并讨论了其执行原理、占位符的区别和parameterType属性的应用。
摘要由CSDN通过智能技术生成

续  前面一篇

jar的统一管理

    <properties>
        <!--自定义标签-->
        <!--对junitjar包进行统一管理-->
        <junit-version>4.13</junit-version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit-version}</version>
        </dependency>
    </dependencies>

maven功能---项目结构设计

1、项目结构--项目有哪些组成部分,这些部分之间存在什么关系

2、使用maven实现项目结构设计;简而言之就是通过maven可以帮助我们实现项目的组成划分,可以实现组成各个成员之间关系的设置

3、如何划分组成,可以设置那些关系?

1)继承关系:项目有父项目和子项目组成,项目和项目关系存在父子关系,子和子之间是并列关系;

继承关系特点:对于父项目来说,不知道

2)聚合关系:项目由多层多个模块和一个聚合项目组成,聚合项目和模块项目之间存在父子关系,模块项目和模块项目之间是并列关系

框架部分----ssm部分

一、框架

1、简单来说,框架就是一种半成品的程序,开发者可以在此基础上实现在开发。框架可以不断的更新维护,便于项目再开发

2.有哪些常用的框架

1)持久层框架:mybatis、dbutils、spring-jdbc、hibernate

2)表现层的框架:springmvc、struts2

3)全栈性质的框架:(可以在所有层可用)spring

3、分层思想、概念,目的是降低耦合、结构清晰、实现和维护相对更简单;分工协作

1)mvc 是一种分层设计思想,把项目中某些内容分成M、V、C

2)M-Model,模型层,包含:实体类层,实现数据的分装和传输

v-view,视图层,包含:视图界面(jsp、HTML、Excel、Word),实现信息展示以及操作者交互

c-controller,控制层,包含:servlet,实现接收和处理请求,做出响应

3)三层架构

A、适合于所有语言、适用于所有的项目形式;

B、表现层,用于实现数据的展示和操作者交互

C、业务逻辑层、用于实现项目的业务逻辑

D、数据访问层、用于实现数据的操作,和数据库交互

二、mybatis框架

1、是什么?

        是持久层框架、和数据库交互、实现CRUD、封装了JDBC、参数自动传递、结果自动封装、由开发者实现SQL编写,mybatis是由Apache管理的开源项目,目前托管在GitHub。由于SQL语句需要开发者编写,所以mybatis又称为半ORM框架。

2.ORM----Object Relational Mapping 对象关系映射,是指数据库表和实体类对应,表中兹独暗河实体类属性对应,表中字段类型和实体类型对应

3.优点

        1)减少代码量

        2)实现软编码,通过xml配置方式

        3)提高效率,比如减少连接对象的操作

        4)还可以实现注解方式的操作

        5)简单易学

4.mybatis 官网

        http://mybatis.org/mybatis-3

5.mybatis入门案例

        1)比如需求实现添加操作

        2)准备

                A、准备数据库和表

CREATE DATABASE mybatis CHARSET utf8;
USE mybatis;
CREATE TABLE t_user(
   uid INT PRIMARY KEY AUTO_INCREMENT,
   uname VARCHAR(30),
   upwd VARCHAR(30)
);

                B、搭建项目环境

                创建项目---java性质maven项目,添加依赖

                创建实体类

                C、准备mybatis相关配置文件:核心配置文件和映射文件

                核心配置文件 ----- 名称任意、保存位置在类路径下,项目一般只有一个

                映射文件---名称任意(同城表示关联)、保存在类路径下(可以在其他任意位置),项目中可能会有多个

                D、准备持久层

                E、测试

//测试添加操作 -- 相当于service层
@Test
public void testSave() throws Exception{
    //加载配置文件 -- 加载核心配置文件
    InputStream is = Resources.getResourceAsStream("mybatis.xml");

    //创建工厂 -- 构造者模式
    SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
    //工厂模式
    SqlSessionFactory factory = builder.build(is);

    //创建会话 -- 数据库和框架
    SqlSession sqlSession = factory.openSession();

    //代理模式
    //持久层对象 -- 让框架帮助我们创建实现类、然后创建实现类对象 -- 代理对象 -- 代替自定义的实现类以及对象的
    //接口引用指向实现类对象  接口多态
    UserDao userDao = sqlSession.getMapper(UserDao.class);

    //对象调方法实现功能
    //准备数据
    User user = new User();
    user.setUname("张飞");
    user.setUpwd("123");
    userDao.insert(user);

    //提交
    sqlSession.commit();
    //释放资源
    sqlSession.close();
}

6.CRUD

       

1)需求是查询操作 -- 单一查询、集合查询

实现主键查询

实现查询所有数据

2)修改操作 -- 主键修改

3)删除操作 -- 主键删除

三、mybatis的执行原理 -- 图示 -- 重点

四、在mybatis中有两种符号

1、#{} 、${}

2.区别

1)作用上的区别:#{}是占位符  ;${}是字符串拼接符

2)预编译上的区别:#{}在预编译时候会被转回?${}在预编译实现字符串拼接

3)安全上区别:#{}防止SQL注入,相对更加安全;${}不能防止SQL注入

五、parameterType属性的相关介绍

1、何时使用

有参数的时候

2、可以缺省配置(设置一般类型时、或者添加注解时)

3、可以设置那些属性值(不缺省配置情况下)

1)一般类型(八个包装类、String 、Date)

2)实体类型

3)Map类型

4)复合实体类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

树叶只为归根吗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值