十.三种查询方式

1. selectList()返回值为List<resultType属性控制>

  1.1 适用于查询结果都需要遍历的需求

List<Flower> list = session.selectList("a.b.selAll");
for(Flower flower : list)
{
System.out.println(flower.toString()); }

2. selectOne()返回值Object

  2.1 适用于返回结果只是一个变量或一行数据值

    int count = session.selectOne("a.b.selById");

    System.out.println(count);

3. selectMap() 返回值Map

  3.1 适用于需要在查询结果中快速通过某列的值取到这行数据的需求

    Map<Object , Object> map = session.selectMap("a.b.c" , "name123");

    System.out.println(map);

  3.2 Map<key,resultType控制>

十一. 路径

1. 编写路径为了告诉编译器如何找到其他资源.

2. 路径分类

  2.1 相对路径: 从当前资源出发找到其他资源的过程

  2.2 绝对路径: 从根目录(服务器根目录或项目根目录)出发找到其他资源的过程

    2.2.1 标志: 只要以/开头的都是绝对路径

3. 绝对路径:

  3.1 如果是请求转发 / 表示项目根目录(WebContent)

  3.2 其他重定向,<img/> <script/>,<style/>,location.href 等/都表示服务器根目录(tomcat/webapps 文件夹)

4. 如果客户端请求的控制器,控制器转发到JSP后,jsp中如果使用相对

路径,需要按照控制器的路径去找其他资源. 4.1 保险办法:使用绝对路径,可以防止上面的问题

十二.MyBatis 实现新增

1. 概念

  1.1 功能:从应用程序角度出发,软件具有哪些功能.

  1.2 业务:完成功能时的逻辑.对应 Service 中一个方法

  1.3 事务:从数据库角度出发,完成业务时需要执行的 SQL 集合,统称一个事务.

    1.3.1 事务回滚.如果在一个事务中某个 SQL 执行事务,希望回归到事务的原点,保证数据库数据的完整性.

2. 在 mybatis 中默认是关闭了 JDBC 的自动提交功能

  2.1 每一个 SqlSession 默认都是不自动提交事务.

  2.2 session.commit()提交事务.

  2.3 openSession(true);自动提交.setAutoCommit(true);

3. mybatis 底层是对 JDBC 的封装.

  3.1 JDBC 中 executeUpdate()执行新增,删除,修改的 SQL.返回值 int, 表示受影响的行数.

   3.2 mybatis 中<insert> <delete> <update>标签没有 resultType 属性, 认为返回值都是 int

4. 在 openSession()时 Mybatis 会创建 SqlSession 时同时创建一个

Transaction(事务对象),同时 autoCommit 都为 false

  4.1 如果出现异常,应该 session.rollback()回滚事务.

5. 实现新增的步骤

  5.1 在 mapper.xml 中提供<insert>标签,标签没有返回值类型

    

<insert id="ins" parameterType="People">
    insert into people values(default,#{name},#{age})
</insert>

  5.2 通过 session.insert()调用新增方法

int index1 = session.insert("a.b.ins", p);
if(index1>0){
System.out.println("成功");
}else{
System.out.println("失败");
}

Java高级框架——Mybatis(二)的更多相关文章

  1. Java 高级框架——Mybatis(一)

    一, SQl复习 a,数据库SQL命令 创建数据库并指定编码 Create database 数据库名 default character set utf8 create database ssm d ...

  2. Java高级框架------Spring(二)

    五.如何给Bean的属性赋值(注入) 1. 通过构造方法来赋值 2. 设置注入(通过set方法) 2.1 如果属性是基本类型或String等简单 <bean id="peo" ...

  3. java 持久框架mybatis的初步学习

    什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索.MyBati ...

  4. Java高级框架-----Spring(一)

    一: 1. Spring几大核心功能: IOC/DI 控制反转/依赖注入 AOP 面向切面编程 声明式事务 2. Spring 框架的的runtime 2.1 test:Spring提供测试功能 2. ...

  5. java集合框架(二):HashTable

    HashTable作为集合框架中的一员,现在是很少使用了,一般都是在面试中会问到其与HashMap的区别.为了能在求职的时候用上场,我们有必要对其原理进行解读. HashTable的实现原理跟Hash ...

  6. Java高级规范之二

    二十一.提交java代码前应该检查是否有没用的语句,如:System.out.println(); jsp页面上面是否有alert调试信息 不规范示例:暂无 规范实例:暂无 解析:因为如果保留了有可能 ...

  7. Java高级篇(二)——网络通信

    网络编程是每个开发人员工具相中的核心部分,我们在学习了诸多Java的知识后,也将步入几个大的方向,Java网络编程就是其中之一. 如今强调网络的程序不比涉及网络的更多.除了经典的应用程序,如电子邮件. ...

  8. Java高级类特性(二)

    一.static关键字 static关键字用来声明成员属于类,而不是属于类的对象.1). static (类)变量类变量可以被类的所有对象共享,以便与不共享的成员变量区分开来. static变量也称作 ...

  9. Java 集合框架(二)—— ArrayList

    二.数组列表 —— ArrayList 1.构造方法 ArrayList 是 Java 中的动态数组,底层实现就是对象数组,只不过数组的容量会根据情况来改变. 它有个带 int 类型参数的构造方法,根 ...

随机推荐

  1. jmeter 上传附件脚本报Non HTTP response code: java.io.FileNotFoundException

    如果上传附件报如下错误,就需要把附件放到和脚本同一路径下就解决了

  2. CentOS 7 下安装 Nginx

    安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境. 一. gcc 安装安装 nginx 需要先 ...

  3. sed常用操作命令

    sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据进行替换.删除.新增.选取等特定工作. 命令格式: sed [OPTION]... {script-only-i ...

  4. PTA2

    一.题目:7-1 币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成“贰万叁仟壹百零捌”元.为了简化输出,用 ...

  5. django模型二

    django模型二 常用模型字段类型 IntegerField   →    int CharField   →   varchar TextField  →    longtext DateFiel ...

  6. 文件IO 相关的包:java.io文件——API

    文件IO 相关的包:java.io文件——API 1.Java.io.File类的使用(1)两种路径绝对路径:相对于当前路径:当前为 “工程名”(2)File类创建,对象为一个文件/目录,可能存在或不 ...

  7. KMeams算法应用:图片压缩与贝叶斯公式理解

    from sklearn.datasets import load_sample_image import matplotlib.pyplot as plt from sklearn.cluster ...

  8. NFPA, UL

    Who or what is NFPA? NFPA (National Fire Protection Association) is an organization in the USA that ...

  9. servlete基础

    1.  使用servlet需要继承HttpServlet Servlet 生命周期 Servlet 生命周期可被定义为从创建直到毁灭的整个过程.以下是 Servlet 遵循的过程: Servlet 通 ...

  10. aspnetcore 日志 serilog-aspnetcore

    serilog-aspnetcore https://github.com/serilog/serilog-aspnetcore public static void Main(string[] ar ...