一、两种方式初始化Mybatis
2013-08-05 18:05
337 查看
一、xml
Configuration.xml
StudentMapper.xml
二、不使用XML构建SqlSessionFactory
没用到,就不解释了。
Configuration.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="config/config.properties"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/test" /> <property name="username" value="root" /> <property name="password" value="asd123" /> </properties> <!-- 可以不设置 --> <!-- <setting></setting> --> <typeAliases> <typeAlias alias="Student" type="entity.Student"></typeAlias> <typeAlias alias="Score" type="entity.Score"></typeAlias> </typeAliases> <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="${username}" /> <property name="password" value="${password}" /> </dataSource> </environment> </environments> <mappers> <mapper resource="mapper/StudentMapper.xml" /> <mapper resource="entity/ScoreMapper.xml" /> </mappers> </configuration>
StudentMapper.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="mapper.StudentMapper"> <resultMap type="Student" id="StudentResultMap"> <id property="id" column="id" /> <result property="name" column="name" /> <result property="password" column="password" /> <result property="sex" column="sex" /> <result property="college" column="college" /> <collection property="scores" column="sid" javaType="ArrayList" ofType="Score" resultMap="Score.ScoreResultMap" /> </resultMap> <select id="get" parameterType="String" resultMap="StudentResultMap"> SELECT * FROM sc_student st LEFT OUTER JOIN sc_score sc ON st.id=sc.sid WHERE st.id=#{id} </select> <insert id="insert" parameterType="Student"> insert into sc_student (id,name,password,sex,college) values (#{id},#{name},#{password},#{sex},#{college}) </insert> <update id="update" parameterType="Student"> UPDATE sc_student SET id=#{id},name=#{name},password=#{password}, sex=#{sex},college=#{college} WHERE id=#{id} </update> <delete id="delete" parameterType="Student"> DELETE FROM sc_student WHERE id = #{id} </delete> </mapper>
package test; import java.io.IOException; import java.io.Reader; import mapper.StudentMapper; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import entity.Student; public class TestXmlBuild1 { public static SqlSessionFactory sqlMapper = null; @Before public void setUpClass() throws IOException { String resource = "config/Configuration1.xml"; Reader reader = Resources.getResourceAsReader(resource); sqlMapper = new SqlSessionFactoryBuilder().build(reader); } @Test public void test1() { SqlSession session = sqlMapper.openSession(); //第一种方法,直接调用,名字要和<mapper namespace="mapper.StudentMapper">匹配 try { Student student = (Student) session.selectOne("mapper.StudentMapper.get", "ttt"); System.out.println(student); } finally { session.close(); } } @Test public void test2() { SqlSession session = sqlMapper.openSession(); //第二种方法,通过接口,mapper名字需要和<mapper namespace="mapper.StudentMapper">匹配 try { StudentMapper studentMapper = session.getMapper(StudentMapper.class); Student student = studentMapper.get("ttt123"); System.out.println(student); } finally { session.close(); } } }
二、不使用XML构建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);
相关文章推荐
- [oracle]初始化参数文件spfile、pfile及修改参数的两种方式
- MyBatis开发dao的两种方式
- 1. easyui tree 初始化的两种方式
- IOC容器在web容器中初始化——(一)两种配置方式
- Mybatis打印调试sql的两种方式
- spring、mybatis 配置方式详解(常用两种方式)
- Spring下的Bean初始化和销毁两种方式
- WCF中的ServiceHost初始化两种方式
- mybatis与数据库的两种交互方式
- mybatis的sql中字段两种映射(映射到实体)方式
- 自制Javascript分页插件,支持AJAX加载和URL带参跳转两种初始化方式,可用于同一页面的多个分页和不同页面的调用
- Mybatis打印可执行mysql语句(工具和拦截器两种方式)
- java中String初始化的两种方式
- WCF中的ServiceHost初始化两种方式
- Java中两种String对象创建和初始化方式比较
- mybatis中批量插入的两种方式(高效插入)
- 字符串初始化的两种方式
- WCF中的ServiceHost初始化两种方式(宿主)
- 数组的初始化两种方式?初始化常见错误
- 关于mybatis两种连接mysql的方式(注解和xml配置)