最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

热推荐:MyBatis的使用一(框架的搭建)

来源:博客园

本文主要讲述如何快速使用mybatis

一. MyBatis的下载

MyBatis框架下载网站:Releases · mybatis/mybatis-3 (github.com)

下载好之后,文件目录如下:


(资料图片)

打开mybatis-3.5.10.pdf,mybatis的使用手册,进行mybatis的搭建

二. MyBatis的安装与配置

1. 创建项目

步骤一:

步骤二:选择Maven项目

步骤三:创建项目名

初始目录如下:

java包:用于编写java程序,resources包:用于存放配置文件,test包:用于测试编写好的java程序

2. 引入MyBatis框架

在pom配置文件中

添加dependency依赖

                org.mybatis        mybatis        3.5.10                junit        junit        4.12        test                                mysql            mysql-connector-java            8.0.28                                    log4j            log4j            1.2.17                            org.junit.jupiter            junit-jupiter            RELEASE            compile            

3. 项目架构

一. com.hspedu包的结构如下:

1. mapper包:用于存放接口类

XXxxMapper接口类,接口类中声明对数据库中数据的处理方法

UserMapper接口类的声明如下:

public interface UserMapper {    // 添加user    // public void    int insertUser();    // 修改user    int updatePwdById();    // 删除user    int deleteUser();    // 查询单行数据    User getUserSingle();    // 查询多行数据    ArrayList getUserAll();}

2. pojo包:用于存放实例

User类的声明如下:

public class User {    private Integer id;    private String username;    private String password;    private Integer age;    private String gender;    private String email;    public User() {    }    public User(Integer id, String username, String password, Integer age, String gender, String email) {        this.id = id;        this.username = username;        this.password = password;        this.age = age;        this.gender = gender;        this.email = email;    }............

注意:实例对象,一定要有无参构造器,因为反射机制,resultSet结果集--反射-->实例对象--封装-->集合。

可以看看这篇博客:DAO数据访问对象 - zwGitOne - 博客园 (cnblogs.com)

3. utils包:用于存放工具类

SqlSessionUtils类,连接数据库,声明如下:

/** * 获得sqlSession对象,用于执行sql语句 */public class SqlSessionUtils {    private static SqlSession sqlSession;    public static SqlSession getSqlSession(){        try {            // 1.获取核心配置文件的输入流            InputStream resourceAsStream = Resources.getResourceAsStream("mybatis_config.xml");            // 2.获取sqlSessionFactoryBuilder执行sql语句            SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();            // 3.创建SqlSessionFactory            SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(resourceAsStream);            // 4.获取sqlSession            //      SqlSession sqlSession = sqlSessionFactory.openSession(true); 自动提交事务            sqlSession = sqlSessionFactory.openSession(true);        } catch (IOException e) {            throw new RuntimeException(e);        }        return sqlSession;    }    public static boolean closeSqlSession(){        if(sqlSession != null){            sqlSession.close();            return true;        }        return false;    }}

mybatis-config.xml的讲解在后面,请耐心观看。

二. resource包结构如下:

1. mybatis_config.xml配置文件信息如下:

                                                                                                                                                                                                                                                                                                                                                                                                                                    

总结:① 配置信息标签的顺序;

② 当使用properties文件,即,此时在dataSource标签中,配置数据库的信息中的value用${key}来指明;

③ 在给指定类型取别名,即,简化XXxxMapper.xml中查询语句的resultType的书写

方式1:,type阐明实体类的位置,alias取别名

方式2:,默认用user或者User命名实体类

方式3:,指明实体类所在的包,默认用类名命名实体类

④ 绑定XXxxMappper.xml文件,即,用于提供数据库的连接,执行sql语句

方式1:,绑定单个xml文件【注意是在resource中找XXxxMapper.xml文件,因此用 / 】

方式2:,绑定com/hspedu/mapper文件夹下的所有xml文件

注意方式2中package的name必须与mapper接口所在的包名一致;根据name,在resources下创建相应的文件夹时,应该用 / 作为分隔符。

2. jdbc.properties数据库信息如下:

jdbc.driver=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/ssm?serverTimezone=UTCjdbc.username=rootjdbc.password=zw20010108

3. mappers包结构如下

UserMapper.xml文件,用于编写sql语句

                insert into t_user values(null,"Tom","tom123",20,"男","tom@123");                    update t_user set password = "$123" where id = 4;                    delete from t_user where id = 8;                        

注意:这里的mappers包的UserMapper.xml与mybatis-config配置文件中的相对应。

总结:① XXxxMapper.xml的名称要与XXxxMapper接口保持一致;

② XXxxMapper.xml中的标签 id 名称要与XXxxMapper接口中定义的方法保持一致。

③ 在使用select标签时,需要指明返回类型,

注意:在没有使用typeAliases标签的情况下,返回类型resultType = "实体类所在包名 . 实体类名称";

当使用了typeAliases标签,返回类型resultType = 别名名称。

4. resources中com.hspedu.mapper包的结构如下

注意:resources中com.hspedu.mapper包与相对应。

关键词: 配置文件 提交事务 初始目录