当前位置: 首页 > article >正文

Mybatis相关API(Sqlsession和sqlsessionFactroy)

代码

  private static  SqlSessionFactory sqlSessionFactory;
    static {
​
        try {
//            获得核心配置文件
            String resource = "mybits-config.xml";  
//                    加载核心配置文件
            InputStream  inputStream = Resources.getResourceAsStream(resource);
//            获取sqlSessionFactory对象
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            //获取sqlSession   
            SqlSession sqlSession = sqlSessionFactory.openSession();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
​
    }

sqlSessionFactory(两个方法)

sqlSessionFactory.openSession()

会默认开启一个事务,但事务不会自动提交,也就意味着需要手动提交该事务,更新操作数据才会持久化到数据库中

openSession(boolean autoCommit)

参数为是否自动提交,如果设置为true,那么不需要手动提交事务

SqlSession

<T> T selectOne (string statement,object parameter) 查询一个 返回的是单个对象 <E> List<E> selectList (string statement,object parameter) 返回的是列表

int insert(String statenent,object paraIneter)

int update (string stateent,object paraIneter)

int delete (string statement,object parameter)

这些方法的第一个参数是唯一标识符 其实就是这个方法的id

第二个就是你要填写的参数,下面是查询操作

例子

    @Test
    public void test2()
    {   mybitsUtils mybitsUtils = new mybitsUtils();
        SqlSession sqlSession = mybitsUtils.getSqlSession();

        User userbyId = sqlSession.selectOne("getUserbyId", 1);

        System.out.println(userbyId);
    }



getmapper

映射配置文件

<select id="getUserbyId" parameterType="int" resultType="org.pojo.User">
    select * from mybatis.user where id=#{id}
</select>

接口     User getUserbyId(int id);

id="getUserbyId" 对应接口里面的方法名

parameterType="int" 对应接口里面的类型参数

resultType="org.pojo.User" 对应接口里面的返回值

getmapper里面的参数要的是接口的字节码文件

UserDao mapper = sqlSession.getMapper(UserDao.class);
User userbyId = mapper.getUserbyId(1);
System.*out*.println(userbyId);

http://www.kler.cn/news/157522.html

相关文章:

  • 海云安参与制定《信息安全技术 移动互联网应用程序(App)软件开发工具包(SDK)安全要求》标准正式发布
  • 电脑如何录音?适合初学者的详细教程
  • python获取阿里云云解析dns的域名解析记录
  • 互联网大厂技术活动+实践分享
  • MySQL中的存储引擎
  • C语言--求一个十进制整数中1的个数
  • 【qml入门教程系列】:qml列表控件ListView用法介绍
  • 4.grid_sample理解与使用
  • 【模电】基本共射放大电路的工作原理及波形分析
  • TCP/IP的体系结构
  • SCTransform normalization seurat
  • C++学习之路(十八)C++ 用Qt5实现一个工具箱(点击按钮以新窗口打开功能面板)- 示例代码拆分讲解
  • 深度学习模型部署与优化:关键考虑与实践策略
  • 重新定义页面滚动条
  • 常见的几种计算机编码格式
  • Oracle(2-9) Oracle Recovery Manager Overview and Configuration
  • IDEA构建springBoot新项目时JDK只有17和21,无法选择JDK8解决方案
  • 采用驱动IC和NMOS的防反电路设计
  • 【问题总结】Docker环境下,将Nacos版本2.0.4升级到2.2.3,操作留档 以及 踩坑记录
  • 【数据结构实验】排序(二)希尔排序算法的详细介绍与性能分析