使用idea开发工具,maven项目,配置maven的路径:
一,配置pom.xml文件,导入所需要的包
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.bdqn</groupId> <artifactId>stringmybatisdemo</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.2.13.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>3.2.13.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>3.2.13.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>3.2.13.RELEASE</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.21</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.2</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.0</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.12</version> </dependency> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>commons-pool</groupId> <artifactId>commons-pool</artifactId> <version>1.6</version> </dependency> </dependencies> <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources> </build> </project>
二,先在cn.bdqn.entity包中创建一个实体类Tuser,并封装。
public class Tuser { private Integer id; private String userName,password,nickName; @Override public String toString() { return "Tuser{" + "id=" + id + ", userName='" + userName + '\'' + ", password='" + password + '\'' + ", nickName='" + nickName + '\'' + '}'; } public Integer getId() { return id; } public void setId(Integer id) { this.id = 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 String getNickName() { return nickName; } public void setNickName(String nickName) { this.nickName = nickName; } }
三,在cn.bdqn.dao中创建一个接口TuserMapper,在其中写一个查询所有用户信息的方法:
public interface TuserMapper { List<Tuser> queryAllTuser(); }
在cn.bdqn.dao中创建一个与接口同名的mapper映射文件,配置实体和数据库的映射,然后定义SQL语句:
<?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"> <!--namespace命名空间:用于绑定dao接口--> <mapper namespace="cn.bdqn.dao.TuserMapper"> <resultMap id="TuserMap" type="Tuser"> <id property="id" column="id"/> <result property="userName" column="user_name"/> <result property="password" column="password"/> <result property="nickName" column="nick_name"/> </resultMap> <select id="queryAllTuser" resultMap="TuserMap"> SELECT * FROM t_user </select> </mapper>
在cn.bdqn.dao中创建接口的实现类。SqlSessionTemplate实现了SqlSession接口,也就是说可以通过SqlSessionTemplate来实现对数据库的操作,而且SqlSessionTemplate是线程安全的,可以被多个到共享使用。
public class TuserMapperImpl implements TuserMapper { //SqlSessionTemplate相当于SqlSession private SqlSessionTemplate sqlSessionTemplate; public SqlSessionTemplate getSqlSessionTemplate() { return sqlSessionTemplate; } public void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate) { this.sqlSessionTemplate = sqlSessionTemplate; } @Override public List<Tuser> queryAllTuser() { List<Tuser> list = new ArrayList<>(); list = sqlSessionTemplate.selectList("cn.bdqn.dao.TuserMapper.queryAllTuser"); return list; } }
四,在cn.bdqn.service中创建TuserService接口;与TuserMapper对应
public interface TuserService { List<Tuser> queryAllTuser(); }
创建TuserService接口的实现类
@Service("tuserService") public class TuserServiceImpl implements TuserService { @Autowired private TuserMapper tuserMapper; @Override public List<Tuser> queryAllTuser() { return tuserMapper.queryAllTuser(); } }
五,在resources创建mybatis文件
<?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> <!--导入log4j日志文件--> <settings> <setting name="logImpl" value="LOG4J"/> </settings> <!--配置别名--> <typeAliases> <package name="cn.bdqn.entity"/> </typeAliases> </configuration>六,在resources创建applicationContext.xml配置文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!--数据库配置--> <context:property-placeholder location="classpath:database.properties"></context:property-placeholder> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="${jdbc.driver}"></property> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"></property> <property name="password" value="${jdbc.password}"/> </bean> <!--配置数据库信息,config文件信息,mapper映射文件信息--> <bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <property name="configLocation" value="classpath:mybatis-config.xml"></property> <property name="mapperLocations"> <list> <value>classpath*:cn/bdqn/dao/*.xml</value> </list> </property> </bean> <!--业务逻辑bean:扫描 cn.bdqn.service 包中的注解--> <context:component-scan base-package="cn.bdqn.service"></context:component-scan> <!--dao配置--> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="cn.bdqn.dao"></property> </bean> </beans>
七,编写测试类
public class test { @Test public void queryAllTUser() throws Exception { ApplicationContext applicationContext =new ClassPathXmlApplicationContext ("applicationContext.xml"); TuserService tuserService =(TuserServiceImpl)applicationContext.getBean("tuserService"); List<Tuser> list=tuserService.queryAllTuser(); if (null != list) { for (Tuser tUser : list) { System.out.println(tUser); } } } }