使用Java API配置MyBatis

使用Java API配置MyBatis (这个方式几乎不用)

MyBatis最关键的组成部分是SqlSessionFactory,我们可以从中获取SqlSession, 并执行映射的SQL语句。SqlSessionFactory对象可以通过基于XML的配置信息或者JavaAPI创建。        

MyBatis的SqlSessionFactory接口除了使用基于XML的配置创建外也可以通过JavaAPI编程式地被创建。每在XML中配置的元素,都可以编程式的创建。

        因为mybatis框架读取了我们配置的mybatis-config.xml中配置信息之后,然后利用这些信息去执行代码创建出我们需要的SqlSessionFactory,再从而进一步得到sqlSession,最后再进行各种数据库操作。
        所以其实我们完全可以不去配置任何信息直接把信息写在代码中,然后再按着之前的顺序创建出我们需要的SqlSessionFactory,再从而进一步得到sqlSession,最后再进行各种数据库操作。只是这样做再大多数时候都会降低代码的灵活性,所以我们基本上接触的框架都是有相应的配置文件的.
        例如:使用Java API创建SqlSessionFactory对象,之前是读取配置文件之后再创建,现在是自己把信息写到代码中,然后再创建该对象      
public static SqlSessionFactory getSqlSessionFactory() {  
            SqlSessionFactory sqlSessionFactory = null;  
            try {  
                DataSource dataSource = DataSourceFactory.getDataSource();  
                TransactionFactory transactionFactory = new JdbcTransactionFactory();  
                Environment environment = new Environment("development", transactionFactory, dataSource);  
                Configuration configuration = new Configuration(environment);  
                configuration.getTypeAliasRegistry().registerAlias("student",Student.class);  
                configuration.getTypeHandlerRegistry().register(PhoneNumber.class, PhoneTypeHandler.class); //自定义类型,在这里使用TypeHandler进行说明
                configuration.addMapper(StudentMapper.class);  
                sqlSessionFactory = new SqlSessionFactoryBuilder().  
                build(configuration);  
            }  
            catch (Exception e) {  
                throw new RuntimeException(e);  
            }  
            return sqlSessionFactory;  
        }  
        类似的,每个在XML中配置的元素,都可以编程式的创建.
        注:这里就不一一介绍了,因为绝大多数情况下我们还是不会把配置信息直接写到代码中的
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值