标签:mybatis
对于mybatis应用的一些优化:
driver=com.mysql.jdbc.Driver url=jdbc:mysql://127.0.0.1:3306/jsky username=root password=123456在配置文件中引入:
<!-- 引入配置文件 --> <properties resource="db.propertities"/>
<!-- 指定別名 --> <typeAliases > <!-- 指定單個類的別名 --> <!-- <typeAlias type="jsky.model.Student" alias="_Student"/> --> <!-- 指定某個包下所有類別名,默認直接類名 --> <package name="jsky.model"/> </typeAliases>
public class MyBatisUtils {
private static SqlSessionFactory factory;
static
{
try {
InputStream is=Resources.getResourceAsStream("mybatis.xml");
factory=new SqlSessionFactoryBuilder().build(is);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 创建sqlsession
* @return sqlsession
*/
public static SqlSession getSession()
{
return factory.openSession();
}
/**
* 关闭sqlsession
* @param sqlSession sqlsession
*/
public static void closeSession(SqlSession sqlSession)
{
if(sqlSession!=null)sqlSession.close();
}
}
public interface StudentMapper {
/**
* 通過id獲取學生信息
* @param id
* @return
*/
Student getById(Integer id);
/**
* 通過name獲取學生信息
* @param name
* @return
*/
Student getByName(String name);
/**
* 獲取所有學生信息
* @return
*/
List<Student> getAll();
/**
* insert a student message
* @param student
*/
void insert(Student student);
/**
*delete a student
* @param id
*/
void delete(Integer id);
/**
* update a student message
* @param student
*/
void update(Student student);
}
对应的配置文件:这里namespace填接口<mapper namespace="jsky.dao.StudentMapper">
<select id="getById" parameterType="Integer" resultType="Student">
select * from student where id=#{id}
</select>
<select id="getByName" parameterType="String" resultType="Student">
select * from student where name=#{name}
</select>
<select id="getAll" resultType="Student">
select * from student
</select>
<insert id="insert" parameterType="Student" useGeneratedKeys="true" keyProperty="id" >
insert into student(name,password,school) values(#{name},#{password},#{school})
</insert>
<delete id="delete" parameterType="Integer">
delete student where id=#{id}
</delete>
<update id="update" parameterType="Student">
update student set name=#{name},password=#{password},school=#{school} where id=#{id}
</update>
</mapper> @Test
public void add()
{
SqlSession session=MyBatisUtils.getSession();
Student stu=new Student("張三", "121", "台灣小學");
StudentMapper mapper=session.getMapper(jsky.dao.StudentMapper.class);
Student st=mapper.getById(1);
System.out.println(st);
mapper.insert(stu);
session.commit();
MyBatisUtils.closeSession(session);
}标签:mybatis
原文地址:http://blog.csdn.net/js_sky/article/details/44855283