1. Assuntos
A essência das transações de primavera é na verdade o suporte do banco de dados para transações. Sem suporte à transação do banco de dados, o Spring não pode fornecer funções de transação. No final, tudo é chamado de conexão com o banco de dados para concluir a abertura da transação, cometer e reverter.
2. Módulo
Portanto, para transações de primavera, vários módulos indispensáveis são fontes de dados, gerentes de transação e programação de transações.
3. Configuração XML
<!-Gerenciador de transações-> <bean id = "springtransactionManager"> <propriedade name = "DataSource" ref = "DataSource" /> </i bean> <!-fontes de dados-> <bean id = "dataSource"> <names name = "driver" nome = "com.mysql.jdbc.niver" /" value = "jdbc: mysql: //127.0.0.1: 3306 /teste? caracterencoding = utf8" /> <propriedade name = "nome de usuário" value = "root" /> <names name = "senha" "" 123456 " /> < /bean> <bEan id =" sqlSative "" <!- Especifique o arquivo de configuração total sqlmapconfig. O ambiente personalizado não é eficaz no contêiner de mola-> <!-especifique o arquivo de mapeamento da classe de entidade. Você pode especificar o pacote especificado e todos os arquivos de configuração sob o subpackage ao mesmo tempo. Há um mapeador e configuração. Quando você precisa especificar um alias para a classe de entidade, você pode especificar a propriedade ConfigLocation e depois usar o Mapper para introduzir o arquivo de mapeamento da classe de entidade no arquivo de configuração total do mybatis-> <!-<nome da propriedade = "configlocation" value = "ClassPath: fwportal/beans/dbconfig/mybatis.xmml =" ClassPath: fwportal/beans/dbconfig/mybatis.xmml = "ClassPath: fwportal/beans/dbconfig/mybatis.xmml =" ClassPath: fwportal/beans/dbconfig/mybatis.xml = " Value = "ClassPath: Mapper/*. Xml"/> </ Bean> <!-Registre a interface Dao como Bean-> <Bean> <Propriedade name = "Basepackage" value = "transaction.dao"/> </ Bean>
4. Programação de transações
@Test public void testDelete () lança exceção {ApplicationContext context = new ClassPathXMLApplicationContext ("mySqlTransaction.xml"); DataSourCetransactionManager SpringtransactionManager = (DataSourCetransactionManager) context.GetEnBean ("SpringtransactionManager =; DefaultTransactionDefinition (); def.setPropagationBeHavior (transactionDefinition.propagation_required); // Abra o status da transação da transação = SpringtransactionManager.gettransaction (DEF); Final StudentDaooo = (StudentDao ).GetaBean ("StudentDao"); {springtransactionManager.rollback (status); // reversão de transações Ex;} springtransactionManager.Commit (status); // Commits de transação}5. Resumo
O exposto acima é um breve caso de uso do mybatis e mola para concluir operações de transação. O nível de isolamento da transação do banco de dados pode ser configurado e o nível de isolamento do banco de dados do MySQL está na dimensão da conexão.
Você também pode definir o tempo de tempo limite da transação, ou seja, a transação de tempo limite recairá automaticamente.
O exposto acima é todo o conteúdo deste artigo sobre a análise de código de transação da primavera Mybatis, espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!