目录:
beam:
country user 基本属性构造方法 tostring
UserVo
package com.sikiedu.beam;
public class UserVo {
//包装类
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
dao:
UserDao:
package com.sikiedu.dao;
import com.sikiedu.beam.User;
public interface UserDao {
User getUserById(Integer id);
}
UserDaoImpl:
package com.sikiedu.dao;
import com.sikiedu.beam.User;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
public class UserDaoImpl implements UserDao {
private SqlSessionFactory ssf;
public UserDaoImpl(SqlSessionFactory ssf) {
this.ssf = ssf;
}
@Override
public User getUserById(Integer id) {
SqlSession session=ssf.openSession();
return session.selectOne("UserMapper.selectUserById", 1);
}
}
mapper
CountryMapper:
package com.sikiedu.mapper;
import com.sikiedu.beam.Country;
import java.util.List;
public interface CountryMapper {
List<Country> selectAll();
}
CountryMapper.xml:
<?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.sikiedu.mapper.CountryMapper">
<resultMap id="country" type="Country">
<result property="id" column="c_id"/>
</resultMap>
<select id="selectAll" resultType="country">
select * from country
</select>
</mapper>
UserMapper:
package com.sikiedu.mapper;
import com.sikiedu.beam.User;
import com.sikiedu.beam.UserVo;
import java.util.List;
public interface UserMapper {
//4大原则
public User selectUserById(Integer id);
public List<User> selectUserByName(String name);
public User selectUserByUserVo(UserVo vo);
public Integer selectUserCount();
}
UserMapper.xml:
<?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.sikiedu.mapper.UserMapper">
<select id="selectUserById" parameterType="Integer" resultType="user">
select * from user where u_id =#{id}
</select>
<select id="selectUserByName" parameterType="String" resultType="user">
select * from user where u_username like "%"#{name}"%"
</select>
<insert id="insertUser" parameterType="User" >
insert into user values(null , #{u_username },#{ u_password},#{u_sex },#{ u_createTime },#{u_cid})
</insert>
<update id="updateUser" parameterType="com.sikiedu.beam.User" >
update user set u_username =#{u_username} where u_id=#{u_id}
</update>
<delete id="deleteUserById" parameterType="Integer" >
delete from user where u_id=#{u_id}
</delete>
<select id="selectUserByUserVo" parameterType="UserVo" resultType="user">
select * from user where u_id =#{user.u_id}
</select>
<!-- public Integer selectUserCount();-->
<select id="selectUserCount" resultType="Integer">
-- 不能有空格
select count(*) from user
</select>
</mapper>
test:
HelloMyBatis:
package com.sikiedu.test;
import com.sikiedu.beam.User;
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.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
public class HelloMyBatis {
@Test
public void Test1() throws IOException {
String resource="sqlMapConfig.xml";
InputStream in = Resources.getResourceAsStream(resource);
SqlSessionFactoryBuilder saab=new SqlSessionFactoryBuilder();
SqlSessionFactory ssf=saab.build(in);
SqlSession session=ssf.openSession();
User user = session.selectOne("UserMapper.selectUserById", 1);
System.out.println(user);
}
@Test
public void Test2() throws IOException {
String resource="sqlMapConfig.xml";
InputStream in = Resources.getResourceAsStream(resource);
SqlSessionFactoryBuilder saab=new SqlSessionFactoryBuilder();
SqlSessionFactory ssf=saab.build(in);
SqlSession session=ssf.openSession();
List<User> list = session.selectList("UserMapper.selectUserByName", "王");
// for(User u:user){
// System.out.println(u);
// }
for (User u:list) {
System.out.println(u);
}
}
@Test
public void Test3() throws IOException {
String resource="sqlMapConfig.xml";
InputStream in = Resources.getResourceAsStream(resource);
SqlSessionFactoryBuilder saab=new SqlSessionFactoryBuilder();
SqlSessionFactory ssf=saab.build(in);
SqlSession session=ssf.openSession();
User user=new User();
user.setU_username("小李");
user.setU_password("1234");
user.setU_sex("1");
user.setU_createTime(new Date());
user.setU_cid(1);
session.insert("UserMapper.insertUser",user);
session.commit();
}
@Test
public void Test4() throws IOException {
String resource="sqlMapConfig.xml";
InputStream in = Resources.getResourceAsStream(resource);
SqlSessionFactoryBuilder saab=new SqlSessionFactoryBuilder();
SqlSessionFactory ssf=saab.build(in);
SqlSession session=ssf.openSession();
User user=new User();
user.setU_id(12);
user.setU_username("小liu");
session.insert("UserMapper.updateUser",user);
session.commit();
}
@Test
public void Test5() throws IOException {
String resource="sqlMapConfig.xml";
InputStream in = Resources.getResourceAsStream(resource);
SqlSessionFactoryBuilder saab=new SqlSessionFactoryBuilder();
SqlSessionFactory ssf=saab.build(in);
SqlSession session=ssf.openSession();
session.delete("UserMapper.deleteUserById",14);
session.commit();
}
}
MapperTest:
package com.sikiedu.test;
import com.sikiedu.beam.Country;
import com.sikiedu.beam.User;
import com.sikiedu.beam.UserVo;
import com.sikiedu.mapper.CountryMapper;
import com.sikiedu.mapper.UserMapper;
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.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class MapperTest {
@Test
public void Test1() throws IOException {
String resource = "sqlMapConfig.xml";
InputStream in = Resources.getResourceAsStream(resource);
// SqlSessionFactoryBuilder saab=new SqlSessionFactoryBuilder();
// SqlSessionFactory ssf=saab.build(in);
SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(in);
SqlSession session = ssf.openSession();
UserMapper mapper = session.getMapper(UserMapper.class);
// User user=mapper.selectUserById(1);
// System.out.println(user);
List<User> user = mapper.selectUserByName("王");
for (User u : user
) {
System.out.println(u);
}
}
@Test
public void Test2() throws IOException {
String resource = "sqlMapConfig.xml";
InputStream in = Resources.getResourceAsStream(resource);
// SqlSessionFactoryBuilder saab=new SqlSessionFactoryBuilder();
// SqlSessionFactory ssf=saab.build(in);
SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(in);
SqlSession session = ssf.openSession();
UserMapper mapper = session.getMapper(UserMapper.class);
// User user=mapper.selectUserById(1);
// System.out.println(user);
UserVo vo=new UserVo();
User u=new User();
u.setU_id(5);
vo.setUser(u);
User user = mapper.selectUserByUserVo(vo);
System.out.println(user);
}
@Test
public void Test3() throws IOException {
String resource = "sqlMapConfig.xml";
InputStream in = Resources.getResourceAsStream(resource);
// SqlSessionFactoryBuilder saab=new SqlSessionFactoryBuilder();
// SqlSessionFactory ssf=saab.build(in);
SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(in);
SqlSession session = ssf.openSession();
UserMapper mapper = session.getMapper(UserMapper.class);
//
Integer count=mapper.selectUserCount();
System.out.println(count);
}
@Test
public void Test4 () throws IOException {
String resource = "sqlMapConfig.xml";
InputStream in = Resources.getResourceAsStream(resource);
// SqlSessionFactoryBuilder saab=new SqlSessionFactoryBuilder();
// SqlSessionFactory ssf=saab.build(in);
SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(in);
SqlSession session = ssf.openSession();
//
// UserMapper mapper = session.getMapper(UserMapper.class);
//
CountryMapper mapper = session.getMapper(CountryMapper.class);
List<Country> countries = mapper.selectAll();
for (Country country:countries
) {
System.out.println(country);
}
}
```
在这里插入代码片
```
}
UserDaoTest:
package com.sikiedu.test;
import com.sikiedu.beam.User;
import com.sikiedu.dao.UserDao;
import com.sikiedu.dao.UserDaoImpl;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
public class UserDaoTest {
private static SqlSessionFactory ssf;
static {
String resource="sqlMapConfig.xml";
InputStream in = null;
try {
in = Resources.getResourceAsStream(resource);
SqlSessionFactoryBuilder saab=new SqlSessionFactoryBuilder();
ssf=saab.build(in);
in.close();
} catch (IOException e) {
e.printStackTrace();`在这里插入代码片`
}
}
@Test
public void DaoTest(){
UserDao dao=new UserDaoImpl(ssf);
User user = dao.getUserById(2);
System.out.println(user);
}
}
db.properties:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm_mybatis?serverTimezone=UTC
jdbc.username=root
jdbc.password=admin
log4j.properties:
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.Conversion
sqlMapConfig.xml:
<?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>
<properties resource="db.properties"/>
<typeAliases>
<!-- <typeAlias type="com.sikiedu.beam.User"></typeAlias>-->
<!-- 推荐使用包,不用一个个弄-->
<package name="com.sikiedu.beam"/>
</typeAliases>
<!-- 在集成spring不用-->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事务-->
<transactionManager type="JDBC"></transactionManager>
<!-- 使用连接池连接数据库-->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<!-- <mapper resource="UserMapper.xml"/>-->
<!-- <mapper url="file:\\\F:\自己在idea做的项目\mybatis\src\UserMapper.xml"/>-->
<!-- <mapper class="com.sikiedu.mapper.UserMapper"/>-->
<!-- //推荐使用包来配置 usepaper接口和xml放一个包下-->
<package name="com.sikiedu.mapper"/>
</mappers>
</configuration>