第3.122课 上课 E购通电子商务平台:整合MyBatis框架, E购通电子商务…

3_122

E购通电子商务平台:整合MyBatis框架

 构建SpringMVC框架

 导入MyBatis对应的jar包

 

 

需要连接数据库,所以还需要导入对应数据库的驱动包,我们这里需要连接的是MySQL数据库,所以导入MySQL的驱动包

 在src目录下创建mybatis_config.xml文件

 创建xxxMapper.xml文件

 编辑xxxMapper.xml文件

 使用MyBatis API访问数据库

  BaseDao

package com.yayadou.ebuy.dao;

 

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;

 

/**

* 获取SqlSession和关闭SqlSession的基础类

*

* @author Administrator

*

*/

public class BaseDao {

 

private static SqlSessionFactory factory;

 

private static ThreadLocal<SqlSession> threadLocal = new ThreadLocal<>();

// 通过静态块初始化SqlSessionFactory,因为静态块只会在类第一次加载的时候执行

static {

try(

//自动资源释放

InputStream in = Resources.getResourceAsStream("Mybatis_config.xml");

){

factory = new SqlSessionFactoryBuilder().build(in);

} catch (IOException e) {

System.err.println("数据库连接工厂获取失败!"+e.getMessage());

}

}

 

/**

* 获取SqlSession对象

*

* @return SqlSession

*/

public static SqlSession getSqlSession() {

// 通过ThreadLocal获取sqlSession对象

SqlSession sqlSession = threadLocal.get();

if (sqlSession == null) {

// 获取一个SqlSession对象

sqlSession = factory.openSession();

// 并存储到ThreadLocal对象中,通过ThreadLocal对象可以方便进行线程同步管理

threadLocal.set(sqlSession);

}

return sqlSession;

}

 

/**

* 关闭SqlSession对象

*/

public static void closeSqlSession() {

SqlSession sqlSession = threadLocal.get();

if (sqlSession != null) {

sqlSession.close();

}

threadLocal.remove();

}

}

 

  XxxDao

package com.yayadou.ebuy.dao;

 

import org.apache.ibatis.session.SqlSession;

 

import com.yayadou.ebuy.dto.User;

 

/**

* 专门针对User对象的数据库操作

*

* @author Administrator

*

*/

public class UserDao extends BaseDao {

 

/**

* 通过用户名和密码查询用户名(登录)

* @param u

* @return

*/

public User getUserByUserIdAndByPassword(User u){

 

SqlSession session = getSqlSession();

User user = session.selectOne("com.yayadou.ebuy.mapper.UserMapper.getUserByUserIdAndByPassword", u);

closeSqlSession();

return user;

}

 

}

 

E购通电子商务平台:登录功能进行数据库查询实现

posted on 2018-01-31 23:39  東風★破  阅读(403)  评论(0)    收藏  举报

导航