MyBatis

MyBatis的一對一的使用

在MyBatis中resources中配置的一對一xml

select u.*,a.id as aid,a.uid,a.money from user u,account a where a.uid = u.id ### 這是實現類中的方法:首先是把表中的屬性創建 public class Account { private Integer id; private Integer uid; private double money; 進行一對一 //一對一關聯:在查詢所有賬戶信息的時候,同時查詢出來賬戶所有人信息 private User user; public User getUser(){ return user; } public void setUser(User user){ this.user = user; }
@Override
public String toString() {
    return "Account{" +
            "id=" + id +
            ", uid=" + uid +
            ", money=" + money +
            '}';
}

public Integer getId() {
    return id;
}

public void setId(Integer id) {
    this.id = id;
}

public Integer getUid() {
    return uid;
}

public void setUid(Integer uid) {
    this.uid = uid;
}

public double getMoney() {
    return money;
}

public void setMoney(double money) {
    this.money = money;
}

}

這裏就是測試類進行小小的測試

這裏是進行創建工廠,並且把工廠屬性定義爲全局屬性

public class test1 {
private InputStream in;
private SqlSessionFactoryBuilder builder;
private SqlSessionFactory factory;
private SqlSession sqlSession;
private AccountDao AccountDaoMapper;
@Before

public  void init() throws IOException {
    in = Resources.getResourceAsStream("mybatisConfig.xml");
    builder = new SqlSessionFactoryBuilder();
    factory = builder.build(in);
    sqlSession = factory.openSession();
    AccountDaoMapper =sqlSession.getMapper(AccountDao.class);
}
@Test
public void test_1() {
    List<Account> all =AccountDaoMapper.findAll();
    for(Account a:all) {
        System.out.println("每一個賬戶的信息");
        System.out.println(a);
        System.out.println(a.getUser());
    }
}

這裏要記住進行屬性的關閉

@After 
public  void Test_11() throws IOException {
    sqlSession.commit();
    sqlSession.close();
    in.close();
}

一對一說白了就是唯一的

發佈了13 篇原創文章 · 獲贊 4 · 訪問量 1814
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章