mybatis demo
基于mybatis的应用都是以一个 SqlSessionFactory 为中心的。
sqlSessionFactory的实例可以通过一个sqlSessionFactoryBuilder获取,sqlSessionFactoryBuilder可以通过mybatis的配置文件或者一个之前定义的configuration来生成sqlSessionfactory.
通过mybatis配置文件获取:
mybatis简单的配置文件:(此时,该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> <properties resource="db.properties"/> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${user}"/> <property name="password" value="${passwd}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="mapper/userMapper.xml"/> </mappers> </configuration>
获取SqlSessionFactory:
1 String source = "mybatis.xml"; 2 InputStream is = null; 3 try { 4 is = Resources.getResourceAsStream(source); 5 } catch (IOException e) { 6 // TODO Auto-generated catch block 7 e.printStackTrace(); 8 } 9 SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
不使用配置文件创建sqlSessionFactory:
DataSource dataSource = BlogDataSourceFactory.getBlogDataSource(); TransactionFactory transactionFactory = new JdbcTransactionFactory(); Environment environment = new Environment("development", transactionFactory, dataSource); Configuration configuration = new Configuration(environment); configuration.addMapper(BlogMapper.class); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
既然有了sqlSessionFactory那么就可以通过,sqlSessionFactory获取sqlSession然后执行sql了。
mybatsi映射sql语句有三种方法,一种是通过xml配置sql语句,二种是通过定义接口,然后在接口上注解sql语句,第三种是即定义接口但不实用注解又使用xml配置文件。
第一种方法只要是通过mybatis的配置文件获取的sqlSessionFactory直接获取sqlsession执行即可,
第二种方法只要是按照不使用配置文件创建的sqlSessionFactory直接获取sqlSession执行 即可。
第三种方式可以使用配置文件获取的sqlSessionFactory,但是要先注册定义的接口,
factory.getConfiguration().addMapper(UserMapper.class);
这样在获取sqlsession执行即可
浙公网安备 33010602011771号