HelloWorld之MyBatis

来源:互联网 发布:c语言求整数位数 编辑:程序博客网 时间:2024/04/29 13:33

项目的目录结构:



很简单。Account是要组装的Domain对象,AccountDAO是测试类,
mapper/Account.xml保存了两条Account的查询语句,而mybatis.cfg.xml
是数据库连接的配置。
package com.cdai.orm.mybatis;public class Account {private long id;private long balance;public Account() {}public long getId() {return id;}public void setId(long id) {this.id = id;}public long getBalance() {return balance;}public void setBalance(long balance) {this.balance = balance;}@Overridepublic String toString() {return "Account [id=" + id + ", balance=" + balance + "]";}}

<?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>    <typeAliases>        <typeAlias alias="Account" type="com.cdai.orm.mybatis.Account" />    </typeAliases>    <environments default="development">        <environment id="development">            <transactionManager type="JDBC" />            <dataSource type="POOLED">                <property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />                <property name="url" value="jdbc:sqlserver://192.168.1.102:1433;databaseName=Bank" />                <property name="username" value="sa" />                <property name="password" value="1qaz2wsx" />            </dataSource>        </environment>    </environments>        <mappers>        <mapper resource="mapper/Account.xml" />    </mappers></configuration>

<?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="Account"><select id="selectAccount" parameterType="int" resultType="Account">    <![CDATA[        SELECT col_id AS id, col_balance AS balance         FROM tb_account    ]]>    </select>    <select id="selectAccountById" parameterType="int" resultType="Account">    <![CDATA[        SELECT col_id AS id, col_balance AS balance FROM tb_account WHERE col_id = #{id}    ]]>    </select></mapper>

package com.cdai.orm.mybatis;import java.io.IOException;import java.io.Reader;import java.util.List;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class AccountDAO {@SuppressWarnings("unchecked")public static void main(String[] args) {String resource = "mybatis.cfg.xml";try {Reader reader = Resources.getResourceAsReader(resource);SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);SqlSession session = sessionFactory.openSession();List<Account> accounts = (List<Account>) session.selectList("selectAccount");for (Account account : accounts) {System.out.println(account);}Account account = (Account) session.selectOne("selectAccountById", 2);System.out.println(account);session.close();} catch (IOException e) {e.printStackTrace();}}}

原创粉丝点击