十.三种查询方式

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. sqlalchemy执行sql语句

    #删除user表中的所有数据,表中的自增字段又从默认值开始 session.execute("truncate table user")

  2. Oracle数据仓库套件

    OBIEE RPD:定义不同分析的主题角度,确定相应的事实表和维度表 报表层:选取需要的维度和度量,根据筛选器选取需要的数据 可视化:用图形展示数据,支持常见的图形:如折线图,饼图,堆叠图等. ODI ...

  3. PCP

    1, What is PCP?Prior Comparable Period2, Why needs PCP?This is to compare the value with history val ...

  4. Java中对List集合的常用操作

    目录: list中添加,获取,删除元素: list中是否包含某个元素: list中根据索引将元素数值改变(替换): list中查看(判断)元素的索引: 根据元素索引位置进行的判断: 利用list中索引 ...

  5. ubuntu下编译小知识点

    #改变编译器选项 SET(CMAKE_C_COMPILER"g++") #出现如下错误:添加C++11特性 #error: #error This file requires co ...

  6. 你想知道吗?come

    从大二接触Java开始,到现在也差不多三个年头了.从最基础的HTML.CSS到最后的SSH自己都是一步一个脚印走出来的,其中开心过.失落过.寂寞过.虽然是半道出家但是经过自己的努力也算是完成了“学业” ...

  7. mysql 安装不了的问题解决

    MySQL Won't Install on Ubuntu 11.04 Ask Question up vote 1 down vote favorite It was working fine be ...

  8. RESTful摘要

    一种标准的模式的格式化URL为 /version/resource/key 例如,映射一个标识为"rasmus"的人 /v1/people/rasmus 安全性:安全的方法,获取资 ...

  9. MySQL Execution Plan--IN子查询包含超多值引发的查询异常1

    ======================================================================= SQL语句: SELECT wave_no, SUM(I ...

  10. k8s基于CA签名的双向数字证书认证(三)

    1.设置kube-apiserver的CA证书相关的文件和启动参数   1)创建CA证书和私钥相关的文件 openssl genrsa -out ca.key openssl req -x509 -n ...