package com.baizhi.dao;
import com.baizhi.entity.Account;
public interface AccountDao {
Account queryById(Integer id);
void insertAccount(Account acc);
}
<?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="com.baizhi.dao.AccountDao">
<!-- 查询实现
id:属性 对应接口定义的方法名
resultType:指定返回值的类型(全限定名)
-->
<select id="queryById" resultType="com.baizhi.entity.Account">
select card_id,username,password,balance,mobile
from accounts
where card_id=#{id}
</select>
</mapper>
package com.baizhi.entity;
import java.io.Serializable;
public class Account implements Serializable{
private Integer card_id;
private String username;
private String password;
private Double balance;
private String mobile;
public Integer getCard_id() {
return card_id;
}
public void setCard_id(Integer card_id) {
this.card_id = card_id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Double getBalance() {
return balance;
}
public void setBalance(Double balance) {
this.balance = balance;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
@Override
public String toString() {
return "Account [card_id=" + card_id + ", username=" + username + ", password=" + password + ", balance="
+ balance + ", mobile=" + mobile + "]";
}
public Account(Integer card_id, String username, String password, Double balance, String mobile) {
super();
this.card_id = card_id;
this.username = username;
this.password = password;
this.balance = balance;
this.mobile = mobile;
}
public Account() {
super();
// TODO Auto-generated constructor stub
}
}
package com.baizhi.test;
import java.io.IOException;
import java.io.InputStream;
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.jupiter.api.Test;
import com.baizhi.dao.AccountDao;
import com.baizhi.entity.Account;
public class TestAccountDao {
@Test
public void testQueryById() throws Exception {
//1.读取核心配置文件mybatis-config.xml
InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
//2.创建SqlSessionFactory
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
//3.创建SqlSession
SqlSession sqlSession = factory.openSession();
//4.获取Dao接口实现类的对象
AccountDao dao = sqlSession.getMapper(AccountDao.class);
//5.调用方法
Account acc = dao.queryById(10006);
System.out.println(acc);
//6.释放资源
sqlSession.close();
}
}
<?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>
<!-- 编写mybatis的运行环境 -->
<environments default="oracle">
<environment id="oracle">
<!-- 指定事务采用JDBC的方式管理 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 使用mybatis提供的POOLED连接池 -->
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:ORCL"/>
<property name="username" value="HR"/>
<property name="password" value="hr"/>
</dataSource>
</environment>
</environments>
<!-- 注册mapper文件位置 -->
<mappers>
<!-- 对mapper标签注册一个mapper文件的位置:路径一定严格大小写 文件用斜杠,包用点 -->
<mapper resource="com/baizhi/dao/AccountDaoMapper.xml"></mapper>
</mappers>
</configuration>
实现结果如下:
Account [card_id=10006, username=Maiia, password=123456, balance=200.0, mobile=174852697]