首页 > 编程语言 > 详细

Java学习的第八天:基础部分差最后一节,跳出直接学的mybatis

时间:2021-06-23 09:31:36      阅读:12      评论:0      收藏:0      [点我收藏+]

Mybatis

环境: Jdk1.8

mysql :-> mysql 5.7

maven 3.6.1

idea

回顾: JDBC:

Mysql

Java基础:

Maven

Junit

框架:

配置文件: 最好的方式就是:看官网;

mybatis3的中文官方文档,很全面,打开有点慢。

http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html

mybatis 中文官网:

http://www.mybatis.cn/archives/789.html

 

mybatis学习官网:

https://mybatis.org/mybatis-3/zh/index.html

 

1、简介:

1、什么是Mybatis:

技术分享图片

mybatis是一款最优秀

技术分享图片

Github

 

如何获取Mybatis

进入: Github :https://github.com/mybatis/mybatis-3/tags

中文文档地址:https://mybatis.org/mybatis-3/zh/index.html

 

 

也就是在maven里面下载

mybatis pom 下载地址:https://mvnrepository.com/artifact/org.mybatis/mybatis/3.5.2

<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
   <groupId>org.mybatis</groupId>
   <artifactId>mybatis</artifactId>
   <version>3.5.2</version>
</dependency>
?

 

 

持久化

数据持久化

持久化就是将程序的数据持久状态和瞬时状态转化的过程;

内存: 断电即失

数据库(Jdbc)io文件持久化。

生活:就比如冷藏

为什么需要持久化:

有一些对象,不能让他丢掉,如果不让它持久化的话,就会出现断电即失的意思,

还有一个意思就是: 内存太贵了,

持久层

Dao层 Server层,Controller层。

完成持久化工作的代码快;

层界限十分明显:

为什么需要Mybatis

帮助程序猿将数据存入到数据库中。

方便

传统的JDBC代码太复杂了,简化,框架。自动化。

不用Mybatis也可以额,更容易上手,技术,没有高低之分;

优点:

技术分享图片

最重要的一点:

使用的人多!

 

第一个Mybatis程序

思路;搭建环境-》导入Mybatis-》编写代码-》测试

搭建环境

搭建数据库

INSERT INTO user (id,name,pwd)VALUES

?
INSERT INTO "user" ("id","name","pwd")VALUES
(1,‘大熊‘,‘123241‘),
(2,‘大1熊‘,‘123224‘),
(3,‘大2熊‘,‘123224‘),
(4,‘大3熊‘,‘1212324‘);
这里面的代码有问题
?

 

新建项目:

1、新建一个普通的maven项目:

2、删除src目录

3、 入门

4、导入maven依赖

 

创建一个模块

编写mybatis的核心配置文件:

在xml中 and就是用 &amp;表示

创建一个Mybatis-Config.xml文件:

里面的内容就是用来连接数据库

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
       PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
       "http://mybatis.org/dtd/mybatis-3-config.dtd">
<!--<configuration> 核心配置文件-->
<!---->
<configuration>
   <environments default="development">
       <environment id="development">
           <transactionManager type="JDBC"/><!--事物管理-->
           <dataSource type="POOLED">
               <property name="driver" value="com.mysql.jdbc.Driver"/>
               <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp; useUnicode=true&amp;characterEncoding=UTF-8"/>
               <property name="username" value="root"/>
               <property name="password" value="522636"/>
           </dataSource>
       </environment>
   </environments>
</configuration>

 

编写mybatis工具类

代码如下:

作用: 这个工具就是用来获取数据库的一下操作,也就是一个工具类。

package com.xiong.utils;
?
import java.io.InputStream;
import java.io.IOException;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
?
//工具类:
//sqlSessionFactory --》sqlSession
public class MybatisUtils {
   private  static SqlSessionFactory sqlSessionFactory;
   static{
       try {
//           使用mybatis的第一步:
//           获取sqlSessionFactory 对象
           String resource = "org/mybatis/example/mybatis-config.xml";
           InputStream inputStream = Resources.getResourceAsStream(resource);
           SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
      } catch (Exception e) {
           e.printStackTrace();
      }
?
  }
//既然有了 SqlSessionFactory,顾名思义,我们可以从中获得 SqlSession 的实例。
// SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。你可以通过 SqlSession 实例来直接执行已映射的 SQL 语句。例如
?
   public static SqlSession getSqlSession(){
            SqlSession sqlSession=  sqlSessionFactory.openSession();
            return sqlSession;
  }
?
}
?

 

编写代码:

实体类:

package com.xiong.pojo;
?
//实体类
public class User {
   private  int id;
   private String name;
   private String pwd;
?
   public User() {
  }
?
   public User(int id, String name, String pwd) {
       this.id = id;
       this.name = name;
       this.pwd = pwd;
  }
?
   public int getId() {
       return id;
  }
?
   public void setId(int id) {
       this.id = id;
  }
?
   public String getName() {
       return name;
  }
?
   public void setName(String name) {
       this.name = name;
  }
?
   public String getPwd() {
       return pwd;
  }
?
   public void setPwd(String pwd) {
       this.pwd = pwd;
  }
?
   @Override
   public String toString() {
       return "User{" +
               "id=" + id +
               ", name=‘" + name + ‘\‘‘ +
               ", pwd=‘" + pwd + ‘\‘‘ +
               ‘}‘;
  }
}
?

 

Dao接口:

package com.xiong.dao;
?
import com.xiong.pojo.User;
?
import java.util.List;
?
public interface UserDao {
   List<User>getUserList();
}
?

 

接口实现类:有原来的Impl转换位现在的mapper配置文件

主要就是用来执行代码,并返回对应的值:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
       PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
       "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--namespace==绑定一个对于的Dao/mapper接口-->
<mapper namespace="com.xiong.dao.UserDao">
<!--   select 查询选项-->
   <select id="getUserList" resultType="com.xiong.pojo.User">
      select * from mybatis.user
   </select>
</mapper>

 

测试

技术分享图片

 

 

<build>
<resources>
<resource>
?
?
<directory>src/main/resources</directory><includes>
<include>*.properties</include><include>*.xml</include>
?
</includes>
<filtering>true</fi1tering>
   </resource>
?
<resource>
<directory>src/ main/java< /directory>
   <includes>
?
<include>**/*.properties</include><include>**/*.xml</include>
</includes>
<filtering>true</fi1tering></resource>
</resources>
   </build>
?
?
?

https://www.cnblogs.com/wtao0730/p/13467532.html

 

Java学习的第八天:基础部分差最后一节,跳出直接学的mybatis

原文:https://www.cnblogs.com/954321xx/p/14920945.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!