MyBatis 环境搭建

1.为什么我们学习框架?

 提高开发效率,框架是别人写好的工具类,我们需要遵循其规则进行操作

2.我们学习哪些框架

A.持久层框架:MyBatis

什么是持久化?

狭义:把数据永久性的保存到数据当中

广义:针对于数据库的所有操作都称为持久化操作

CreateReadUpdateDelete操作

面试:持久层框架?MyBatis  Hibernate

Object【Java对象】 Relation【数据库】 Mapping【映射-通过框架来映射对象和数据中的表和字段的关系】框架?

MyBatis和Hibernate之间的区别?

MyBatis是半自动化,需要我们私人定制SQL语句进行CRUD的操作

Hibernate全自动化,只是我们针对于对象的操作即可

B.Web层框架:SpringMVC 用来替换Servlet

Struts2 和SpringMVC的区别?

C.容器框架:Spring

一站式服务,IoC和AOP的容器框架

3.如何学习框架?

A.找到需要的jar

B.核心配置文件

C.通过API进行简单的示例操作和CRUD

 

MyBatis和IBatis的差别

IBatis是指IBatis2.0版本之前

MyBatis-->IBatis3.0

MyBatis其实就是对JDBC的封装

MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集MyBatis 可以对配置和原生Map使用简单的 XML 或注解,

将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

对象对应的是记录

 

MyBatis的核心配置文件

目前我们学习阶段只用其干两件事情:

A.配置数据库的连接信息

相应的jar包不多说,官网都有

config.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE configuration
 3   PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 4   "http://mybatis.org/dtd/mybatis-3-config.dtd">
 5   <configuration>
 6   <properties resource="xy37/jdbc.properties"/>   //下面的配置文件,方便项目维护
 7     <environments default="development">
 8         <environment id="development">
 9           <transactionManager type="JDBC"/>
10           <dataSource type="POOLED">
11             <property name="driver" value="${shxt.driver}"/>
12             <property name="url" value="${shxt.url}"/>
13             <property name="username" value="${shxt.username}"/>
14             <property name="password" value="${shxt.password}"/>
15           </dataSource>
16         </environment>
17     </environments>
18     <mappers>
        
       //对应的映射文件 19 <mapper resource="com/shxt/model/UserMapper.xml"/> 20 </mappers> 21 </configuration>
jdbc.properties
1 shxt.driver=com.mysql.jdbc.Driver
2 shxt.url=jdbc:mysql://127.0.0.1:3306/xy37_mss  数据库名称
3 shxt.username=用户名
4 shxt.password=密码

B.加载映射文件

如果映射文件有错,那么你的程序一定是错的

 

jdbc.properties

保存操作代码详解

 

通过主键进行查询

 

查询列表操作

 

更新操作第一种解决方案

 

UserMapper.xml中所有练习语句

 

原文地址:https://www.cnblogs.com/jiangxiulian/p/5894006.html