博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mybatis
阅读量:6970 次
发布时间:2019-06-27

本文共 3237 字,大约阅读时间需要 10 分钟。

介绍:

        它是一个插件,是一个持久化插件

        帮我们简化数据库的操作

        mybatis的好处就是可以自定义sql让sq变得很灵活

工程创建: mybatis-config.xml(这里是文件名随你起)  是mybatis的数据库和事务配置文件

                  数据库连接信息

                  事务管理 

                  mapper 文件管理

每多一张表 就需要以下配置:

                                           StudentMapper.xml  是针对student表做出的sql配置xml文件 //映射文件配置,数据库相关操作都在这个文件中

                                           Student  类 是用来包装student表格的 POJO类  //对应的是你要操作的表,对应表中的相应数据

                                           StudentMapper 接口 是对应studentMapper.xml 的功能接口 //实现 POJO类的接口

数据库连接xml文件:

数据库连接方法包装:

package com.sun.mybatis;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.IOException;import java.io.InputStream;public class Mybatisconfig {    public static SqlSessionFactory sqlSessionFactory;    //这里用静态方法的原因是因为,用不了那么多链接一个就够了所以设置为静态类    static {        String resource = "com/sun/mybatis/mybatis_config";        //用静态块是因为只要掉用类,就会启动实例块中的代码        try {            InputStream inputStream = Resources.getResourceAsStream(resource);            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);        } catch (IOException e) {            e.printStackTrace();        }    }}

对应数据库表结构的类

package com.sun.mybatis;//用get 和set方法包装即可public class Student {    private int sid;    private String sname;    private String address;    private String email;}
mybatis自定义sql的映射文件配置

insert into student(sname,address,email) values(#{sname},#{address},#{email})
映射文件对应的接口实现类:

package com.sun.mybatis.dao;import com.sun.mybatis.Student;import java.util.List;public interface StudentMappr {    public Student inste(int id);    public int inster(Student student);    //这里传进来的是对象,因为插入是数据库相对应的数据    //这里注意发挥类型和参数    public List
selectUserAll(); //查询放回值返回的是对象,因为有数据库相对应的对象 //这里的方法是集合查询 也就是可以多查 // 这里的Student代表返回出去的是都是Student对象}
数据操作:

package com.sun.mybatis;import com.sun.mybatis.dao.StudentMappr;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import java.util.List;public class Teat {    public static void main(String[] args) {        SqlSessionFactory sqlSessionFactory = Mybatisconfig.sqlSessionFactory;        //创建sql绘画工厂对象        SqlSession sqlSession = sqlSessionFactory.openSession();        //将会话工厂类给sqlsession工厂        StudentMappr studentMappr = sqlSession.getMapper(StudentMappr.class);        //创建动态实现类        //mybatis的运行过程,应该是        //1.创建工厂链接        //2.通过工厂sqlsession工厂类 中的方法在内存创建动态实现类        //3.通过映射文件找到相对应的实现类        //4.再通过实现类的名字找到相对应的实现方法,能找见方法是因为配置的映射中的标记名对应着的是实现类的方法名        List
studentList=studentMappr.selectUserAll(); //这里是集合声明也是,集合相当于高级的数组所以也是同过循环取值 for (Student student : studentList) { System.out.println(student.toString()); } }}

转载地址:http://rsssl.baihongyu.com/

你可能感兴趣的文章
Windows Server入门系列之十二 进程管理
查看>>
搭建DHCP服务器
查看>>
Linux的watch命令 — 实时监测命令的运行结果
查看>>
IO多路复用之epoll总结
查看>>
关于计算机脱域
查看>>
cisco c4507R-E 交换机启动不起来
查看>>
java web 自定义标签
查看>>
2019活动技术(Eventech)的新趋势
查看>>
mac系统安装/升级node
查看>>
数据库-----同义词
查看>>
python venv actieve uninstall pack-name sitepage
查看>>
10月份技术:PXE批量安装LINUX系统
查看>>
linux head
查看>>
热插拔——矿机先行利器
查看>>
rsync 远程同步 实时同步备份 两种免交互的方式实现实时备份
查看>>
什么是灰度发布,以及灰度发布A/B测试
查看>>
Spring全家桶系列--SpringBoot与Mybatis结合
查看>>
使用Java SDK实现离线签名
查看>>
VRRP工作原理
查看>>
2019年的财富管理行业将何去何从?
查看>>